{
 "schema_name": "page",
 "schema_version": "2.0",
 "page_type": "author",
 "url": "/authors/joshua-cole/",
 "canonical": "/authors/joshua-cole/",
 "language": "en",
 "hreflang": [],
 "translations": [],
 "heading": "Joshua Cole: Football Prediction Record",
 "description": "Verified record: 32 settled picks by Joshua Cole recorded before kick-off across 13 matches, 9 Oct 2026 – 5 Nov 2026: −40.1% at our recorded market prices.",
 "first_paragraph": {
  "body": "Forecast Record recorded 32 settled live picks by Joshua Cole before kick-off across 13 matches between 9 October and 5 November 2026. At our recorded market prices these picks returned −40.1% on the total staked. Of the 164 predictions we hold for Joshua Cole, 97 are linked to matches: 97 were recorded by us before kick-off. Figures as of 7 November 2026.",
  "key_number": "−40.1%",
  "data": "2026-11-07",
  "source_info": "our own evidence archive and market snapshot",
  "brand": "Forecast Record"
 },
 "indexable": true,
 "noindex_reason": null,
 "indexing_threshold": {
  "settled_count": 78,
  "date_count": 26,
  "required_settled": 10,
  "required_dates": 2
 },
 "data_date": "2026-11-07T17:54:40.336Z",
 "built_at": "2026-11-07T19:52:23.438Z",
 "lastmod": "2026-11-08T02:12:33.000Z",
 "content_hash": null,
 "meaning_hash": "09365d9a6f8ae1008514355ab8399a374673d0206e1ee10568310825f3dcfa81",
 "dependency_group": "author:e-47aa46371e213875f5de5053",
 "release_id": "20261107-195223",
 "markup": [
  {
   "type_code": "WebPage",
   "allowed": true,
   "cause": null
  },
  {
   "type_code": "Organization",
   "allowed": true,
   "cause": null
  },
  {
   "type_code": "Person",
   "allowed": true,
   "cause": null
  }
 ],
 "exports": [
  {
   "type_code": "json",
   "url": "/authors/joshua-cole/index.json",
   "bytes": null
  },
  {
   "type_code": "csv",
   "url": "/authors/joshua-cole/picks.csv",
   "bytes": null
  }
 ],
 "modules": {
  "affiliate": true,
  "api": true,
  "compare_yourself": false
 },
 "affiliate_block": {
  "container": true,
  "request_url": "/partnery/moi",
  "disclosure": "Some links below are affiliate links and are marked as such. They never affect what you see above: the order of any table is computed before any commission is known.",
  "page_category": "author"
 },
 "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
 },
 "headline_number": {
  "metric": {
   "metric_id": "p-e-47aa46371e213875f5de5053-roi-market-price-90d-z99",
   "code_name": "roi_market_price",
   "display_name": "Return on stakes at an independent odds snapshot",
   "window_kind": "90d",
   "window_from": "2026-08-09",
   "window_to": "2026-11-07",
   "amount": "-40.1475",
   "unit": "percent",
   "data_status": "calculated",
   "cause": null,
   "n_bets": 32,
   "n_events": 13,
   "n_void": 0,
   "ci_low": "-65.3303",
   "ci_high": "-7.3471",
   "ci_method": "cluster_bootstrap",
   "price_source": "market_price",
   "coverage_percent": "96.88",
   "breakdown": [],
   "methodology_version": "2.2",
   "data_date": "2026-11-07T17:54:40.336Z",
   "enough_for_ranking": false,
   "series_uid": null,
   "series_key": "market_price",
   "series_label": "At an independent odds snapshot"
  },
  "byline": "Return on stakes at an independent odds snapshot over 90 days: 32 settled picks across 13 matches",
  "average_odds": "2.26",
  "odds_from_author": 32,
  "odds_from_snapshot": 0
 },
 "metrics": [],
 "history": [],
 "simulation": {
  "series_uid": "sr-b1cf1a19d2d6ed1c7fe8b6e3",
  "bankroll_hundredths": 871528,
  "reserve_hundredths": 0,
  "issued_total_hundredths": 1000000,
  "top_up_count": 0,
  "profit_hundredths": -128472,
  "rewards_off": null,
  "initial_hundredths": 1000000,
  "stake_hundredths": 10000,
  "data_points": [
   {
    "at": "2026-10-10T23:35:58.735Z",
    "bankroll_hundredths": 990000,
    "profit_hundredths": -10000,
    "outcome_id": "ish-e3839c20d92958782bbb5a60"
   },
   {
    "at": "2026-10-18T07:11:08.983Z",
    "bankroll_hundredths": 996494,
    "profit_hundredths": -3506,
    "outcome_id": "ish-41938dae5e15b8ede2cafadb"
   },
   {
    "at": "2026-10-18T07:11:08.990Z",
    "bankroll_hundredths": 986494,
    "profit_hundredths": -13506,
    "outcome_id": "ish-ebc7788a60990c1780d869b7"
   },
   {
    "at": "2026-10-18T15:10:16.875Z",
    "bankroll_hundredths": 997294,
    "profit_hundredths": -2706,
    "outcome_id": "ish-592f655bbe120eb62a5c11e4"
   },
   {
    "at": "2026-10-20T19:05:37.498Z",
    "bankroll_hundredths": 987294,
    "profit_hundredths": -12706,
    "outcome_id": "ish-f55e488502a0bd669663ad2d"
   },
   {
    "at": "2026-10-21T19:08:54.184Z",
    "bankroll_hundredths": 992557,
    "profit_hundredths": -7443,
    "outcome_id": "ish-85924c017f4d8c61c144382f"
   },
   {
    "at": "2026-10-21T19:08:54.246Z",
    "bankroll_hundredths": 982557,
    "profit_hundredths": -17443,
    "outcome_id": "ish-604beff5d30b923532c1e8b8"
   },
   {
    "at": "2026-10-22T11:59:19.078Z",
    "bankroll_hundredths": 988957,
    "profit_hundredths": -11043,
    "outcome_id": "ish-ea20cb38eee7fc3b5d6a45a9"
   },
   {
    "at": "2026-10-22T12:26:02.930Z",
    "bankroll_hundredths": 994357,
    "profit_hundredths": -5643,
    "outcome_id": "ish-56d5357703960c43c2e562ed"
   },
   {
    "at": "2026-10-22T19:30:15.583Z",
    "bankroll_hundredths": 997360,
    "profit_hundredths": -2640,
    "outcome_id": "ish-9479ba22253581740ad0b206"
   },
   {
    "at": "2026-10-26T22:07:44.206Z",
    "bankroll_hundredths": 987360,
    "profit_hundredths": -12640,
    "outcome_id": "ish-162fa1c4f68a343b76cedbda"
   },
   {
    "at": "2026-10-26T22:07:44.223Z",
    "bankroll_hundredths": 991660,
    "profit_hundredths": -8340,
    "outcome_id": "ish-c656f7d3abafcf7510830f0c"
   },
   {
    "at": "2026-10-27T02:25:55.852Z",
    "bankroll_hundredths": 995405,
    "profit_hundredths": -4595,
    "outcome_id": "ish-52a7b46ded1b3831d7e9dc3a"
   },
   {
    "at": "2026-11-02T22:13:08.212Z",
    "bankroll_hundredths": 985405,
    "profit_hundredths": -14595,
    "outcome_id": "ish-f164991e1de5b9979be6b34d"
   },
   {
    "at": "2026-11-02T22:13:08.233Z",
    "bankroll_hundredths": 975405,
    "profit_hundredths": -24595,
    "outcome_id": "ish-466d006ed933496fd2f4d653"
   },
   {
    "at": "2026-11-02T22:13:08.701Z",
    "bankroll_hundredths": 965405,
    "profit_hundredths": -34595,
    "outcome_id": "ish-750255f1a4a35f9590588697"
   },
   {
    "at": "2026-11-02T22:13:08.737Z",
    "bankroll_hundredths": 955405,
    "profit_hundredths": -44595,
    "outcome_id": "ish-5ec02c6b988704efb76d1299"
   },
   {
    "at": "2026-11-02T22:13:08.753Z",
    "bankroll_hundredths": 964334,
    "profit_hundredths": -35666,
    "outcome_id": "ish-ccfc8b3caab55643623b5e6e"
   },
   {
    "at": "2026-11-03T20:31:23.290Z",
    "bankroll_hundredths": 954334,
    "profit_hundredths": -45666,
    "outcome_id": "ish-e23a6c1da213611534bdccbb"
   },
   {
    "at": "2026-11-03T20:31:23.299Z",
    "bankroll_hundredths": 944334,
    "profit_hundredths": -55666,
    "outcome_id": "ish-644804d5348953f38edb9511"
   },
   {
    "at": "2026-11-05T20:22:51.660Z",
    "bankroll_hundredths": 934334,
    "profit_hundredths": -65666,
    "outcome_id": "ish-7c08c86fc9c5d89ef1747add"
   },
   {
    "at": "2026-11-05T20:22:51.670Z",
    "bankroll_hundredths": 924334,
    "profit_hundredths": -75666,
    "outcome_id": "ish-3892ad383e7cf5b7989654da"
   },
   {
    "at": "2026-11-05T20:22:51.680Z",
    "bankroll_hundredths": 914334,
    "profit_hundredths": -85666,
    "outcome_id": "ish-39ac95dc0e47e8887bb32cb5"
   },
   {
    "at": "2026-11-05T22:53:58.077Z",
    "bankroll_hundredths": 919334,
    "profit_hundredths": -80666,
    "outcome_id": "ish-81a5797cc22f481064231e34"
   },
   {
    "at": "2026-11-05T22:53:58.104Z",
    "bankroll_hundredths": 925034,
    "profit_hundredths": -74966,
    "outcome_id": "ish-f7c91cf03d565cc262f4e103"
   },
   {
    "at": "2026-11-07T04:53:15.057Z",
    "bankroll_hundredths": 931528,
    "profit_hundredths": -68472,
    "outcome_id": "ish-c7781af1fce83b17d7d5390a"
   },
   {
    "at": "2026-11-07T09:03:17.489Z",
    "bankroll_hundredths": 921528,
    "profit_hundredths": -78472,
    "outcome_id": "ish-41025c30d23f57a2292e0b33"
   },
   {
    "at": "2026-11-07T09:53:09.239Z",
    "bankroll_hundredths": 911528,
    "profit_hundredths": -88472,
    "outcome_id": "ish-b0aeac57b021beec57432e91"
   },
   {
    "at": "2026-11-07T09:53:09.249Z",
    "bankroll_hundredths": 901528,
    "profit_hundredths": -98472,
    "outcome_id": "ish-1355089df9353ca77ee17a45"
   },
   {
    "at": "2026-11-07T09:53:09.326Z",
    "bankroll_hundredths": 891528,
    "profit_hundredths": -108472,
    "outcome_id": "ish-7988447705825fd9c1cc5a19"
   },
   {
    "at": "2026-11-07T09:53:13.118Z",
    "bankroll_hundredths": 881528,
    "profit_hundredths": -118472,
    "outcome_id": "ish-b8967210ef20ddf899fb129e"
   },
   {
    "at": "2026-11-07T12:19:04.852Z",
    "bankroll_hundredths": 871528,
    "profit_hundredths": -128472,
    "outcome_id": "ish-81fe34c7685f926be641c27d"
   }
  ],
  "top_ups": [],
  "rule": "When the balance falls below 100 points and no bets are open, 10000 points are added; the remaining balance is kept. While bets are open we wait for settlement.",
  "series_key": "market_price",
  "series_label": "At an independent odds snapshot"
 },
 "simulations": [],
 "completeness": {
  "detected": 472,
  "recognised": 164,
  "accepted": 51,
  "executed": 37,
  "calculated": 37,
  "gaps": [
   {
    "cause": "outside the method",
    "figure": 40
   },
   {
    "cause": "National-team matches",
    "figure": 38
   },
   {
    "cause": "not_supported",
    "figure": 27
   },
   {
    "cause": "other reading",
    "figure": 10
   },
   {
    "cause": "not_checked",
    "figure": 6
   },
   {
    "cause": "disputed_reading",
    "figure": 4
   },
   {
    "cause": "no_price_at_capture",
    "figure": 1
   },
   {
    "cause": "no_quote",
    "figure": 1
   }
  ]
 },
 "record_counts": {
  "dictionary_version": "1",
  "statements": 472,
  "of_them_restored": 4,
  "not_predictions": {
   "opinions": 48,
   "not_about_a_match": 255,
   "unclassified": 0
  },
  "predictions": 164,
  "predictions_restored": 0,
  "matches": 55,
  "admitted": 51,
  "qualifying_picks": 37,
  "qualifying_picks_restored": 0,
  "settled_picks": 37,
  "settled_picks_restored": 0,
  "series_list": [
   {
    "code_name": "market_price",
    "derived": false,
    "is_restored": false,
    "qualifying_picks": 32,
    "settled_picks": 32,
    "void": 0,
    "pending_picks": 0,
    "matches": 13,
    "operations_settled": 32,
    "stakes_hundredths": [
     10000
    ],
    "methodologies": [
     "2.2"
    ],
    "display_name": "At an independent odds snapshot"
   },
   {
    "code_name": "author_price",
    "derived": false,
    "is_restored": false,
    "qualifying_picks": 36,
    "settled_picks": 36,
    "void": 0,
    "pending_picks": 0,
    "matches": 13,
    "operations_settled": 36,
    "stakes_hundredths": [
     10000
    ],
    "methodologies": [
     "2.1",
     "2.2"
    ],
    "display_name": "At the author's stated price"
   },
   {
    "code_name": "derived_series",
    "derived": true,
    "is_restored": false,
    "qualifying_picks": 38,
    "settled_picks": 36,
    "void": 0,
    "pending_picks": 2,
    "matches": 35,
    "operations_settled": 39,
    "stakes_hundredths": [
     10000
    ],
    "methodologies": [
     "2.2"
    ],
    "display_name": "Forecast Record reconstruction from the predicted score"
   }
  ],
  "gaps": [
   {
    "code_name": "not_admitted",
    "cause": "outside the method",
    "figure": 40
   },
   {
    "code_name": "outside_coverage",
    "cause": "National-team matches",
    "figure": 38
   },
   {
    "code_name": "not_supported",
    "cause": "not_supported",
    "figure": 27
   },
   {
    "code_name": "ambiguous",
    "cause": "other reading",
    "figure": 10
   },
   {
    "code_name": "not_checked",
    "cause": "not_checked",
    "figure": 6
   },
   {
    "code_name": "disputed_reading",
    "cause": "disputed_reading",
    "figure": 4
   },
   {
    "code_name": "no_price_at_capture",
    "cause": "no_price_at_capture",
    "figure": 1
   },
   {
    "code_name": "no_quote",
    "cause": "no_quote",
    "figure": 1
   }
  ],
  "duplicates": 0,
  "junk": {
   "ads": 1,
   "service": 9
  },
  "dictionary_url": "/methodology/#words"
 },
 "evidence_items": [
  {
   "observation_id": "n-29c72fc590a6bee3d8998e7b",
   "url": "/evidence/?pick=n-29c72fc590a6bee3d8998e7b",
   "quote_text": "Pete O'Rourke of Football Insider reports that Valencia are preparing to end the loan early",
   "fragment_from": 478,
   "fragment_to": 569,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/harvey-elliott-football-whispers-index-score/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "2ad6f4a919e2d3148c340e9e0ccc224b5d0a541da18c15e1d64c1d2f086ea51f",
    "material_removed": false
   },
   "published_at": "2026-11-06T20:47:25.000Z",
   "detected_at": "2026-11-06T20:54:18.433Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-06T20:47:25.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T20:47:25.000Z",
    "detected_at": "2026-11-06T20:54:18.433Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-9d252e045f7386eb8eb2118a",
   "url": "/evidence/?pick=n-9d252e045f7386eb8eb2118a",
   "quote_text": "Harvey Elliott's season has unravelled at Valencia, and Leeds United are reported to be ready",
   "fragment_from": 217,
   "fragment_to": 310,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/harvey-elliott-football-whispers-index-score/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "2ad6f4a919e2d3148c340e9e0ccc224b5d0a541da18c15e1d64c1d2f086ea51f",
    "material_removed": false
   },
   "published_at": "2026-11-06T20:47:25.000Z",
   "detected_at": "2026-11-06T20:54:18.433Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-06T20:47:25.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T20:47:25.000Z",
    "detected_at": "2026-11-06T20:54:18.433Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-7d9ac20e9446c96a85cd584d",
   "url": "/evidence/?pick=n-7d9ac20e9446c96a85cd584d",
   "quote_text": "That contrast should make their meeting particularly intriguing",
   "fragment_from": 4195,
   "fragment_to": 4258,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/atletico-madrid-vs-barcelona-key-battle-pablo-barrios-vs-pedri-analysed/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "16449ff9b8c197cb0c64a6e288c713e8529d620a1f53bb8a98dde5f184e5c8f0",
    "material_removed": false
   },
   "published_at": "2026-11-06T19:56:41.000Z",
   "detected_at": "2026-11-06T20:06:28.578Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-06T19:56:41.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T19:56:41.000Z",
    "detected_at": "2026-11-06T20:06:28.578Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-593414321dfc1d09df62c9ba",
   "url": "/evidence/?pick=n-593414321dfc1d09df62c9ba",
   "quote_text": "the midfield contest could have a major influence on which team controls the game.",
   "fragment_from": 445,
   "fragment_to": 527,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/atletico-madrid-vs-barcelona-key-battle-pablo-barrios-vs-pedri-analysed/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "16449ff9b8c197cb0c64a6e288c713e8529d620a1f53bb8a98dde5f184e5c8f0",
    "material_removed": false
   },
   "published_at": "2026-11-06T19:56:41.000Z",
   "detected_at": "2026-11-06T20:06:28.578Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-06T19:56:41.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T19:56:41.000Z",
    "detected_at": "2026-11-06T20:06:28.578Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-709797a198afea2005acdb3f",
   "url": "/evidence/?pick=n-709797a198afea2005acdb3f",
   "quote_text": "A £250m valuation is a reasonable estimate for Ronaldo at his peak in today's market",
   "fragment_from": 4179,
   "fragment_to": 4263,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/how-much-would-prime-cristiano-ronaldo-be-worth-in-todays-market/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "42a329697e8b9bffc4c4fa7b6b8c0ee316bc92498b7f7d96c46498bd58c9bf78",
    "material_removed": false
   },
   "published_at": "2026-11-05T12:36:30.000Z",
   "detected_at": "2026-11-05T12:44:17.255Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-05T12:36:30.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-05T12:36:30.000Z",
    "detected_at": "2026-11-05T12:44:17.255Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-912af313e568587884e3b487",
   "url": "/evidence/?pick=n-912af313e568587884e3b487",
   "quote_text": "Cristiano Ronaldo's decision to retire from international football has brought an emotional chapter",
   "fragment_from": 154,
   "fragment_to": 253,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/how-much-would-prime-cristiano-ronaldo-be-worth-in-todays-market/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "42a329697e8b9bffc4c4fa7b6b8c0ee316bc92498b7f7d96c46498bd58c9bf78",
    "material_removed": false
   },
   "published_at": "2026-11-05T12:36:30.000Z",
   "detected_at": "2026-11-05T12:44:17.255Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-05T12:36:30.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-05T12:36:30.000Z",
    "detected_at": "2026-11-05T12:44:17.255Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-fad40ec34b8fad1850129371",
   "url": "/evidence/?pick=n-fad40ec34b8fad1850129371",
   "quote_text": "Milot Rashica and Vaclav Cerny expected to miss out because of hamstring issues",
   "fragment_from": 3895,
   "fragment_to": 3974,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/celtic-vs-besiktas-prediction-05-11-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d3f6a40d88894df075a1489e211fa0f6bdfdfe41ffe33e0c6130f6fe0add7777",
    "material_removed": false
   },
   "published_at": "2026-11-03T20:35:34.000Z",
   "detected_at": "2026-11-03T20:48:21.915Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-03T20:35:34.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-03T20:35:34.000Z",
    "detected_at": "2026-11-03T20:48:21.915Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-596f96da6c563033b82a75e9",
   "url": "/evidence/?pick=n-596f96da6c563033b82a75e9",
   "quote_text": "Alistair Johnston remains sidelined with a hamstring injury",
   "fragment_from": 2872,
   "fragment_to": 2931,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/celtic-vs-besiktas-prediction-05-11-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d3f6a40d88894df075a1489e211fa0f6bdfdfe41ffe33e0c6130f6fe0add7777",
    "material_removed": false
   },
   "published_at": "2026-11-03T20:35:34.000Z",
   "detected_at": "2026-11-03T20:48:21.915Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-03T20:35:34.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-03T20:35:34.000Z",
    "detected_at": "2026-11-03T20:48:21.915Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-aae41852b756136f8b39d490",
   "url": "/evidence/?pick=n-aae41852b756136f8b39d490",
   "quote_text": "Whispers predicts: Celtic 1-2 Besiktas",
   "fragment_from": 4350,
   "fragment_to": 4388,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/celtic-vs-besiktas-prediction-05-11-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d3f6a40d88894df075a1489e211fa0f6bdfdfe41ffe33e0c6130f6fe0add7777",
    "material_removed": false
   },
   "published_at": "2026-11-03T20:35:34.000Z",
   "detected_at": "2026-11-03T20:48:21.915Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-03T20:35:34.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-03T20:35:34.000Z",
    "detected_at": "2026-11-03T20:48:21.915Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-6cd5e9e6ddf8b13d89c5d2e1",
   "url": "/authors/joshua-cole/picks/9/#pick-n-6cd5e9e6ddf8b13d89c5d2e1",
   "quote_text": "Correct score: Celtic 1-2 Besiktas at 9.50 (17/2)",
   "fragment_from": 5135,
   "fragment_to": 5184,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/celtic-vs-besiktas-prediction-05-11-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d3f6a40d88894df075a1489e211fa0f6bdfdfe41ffe33e0c6130f6fe0add7777",
    "material_removed": false
   },
   "published_at": "2026-11-03T20:35:34.000Z",
   "detected_at": "2026-11-03T20:48:21.915Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "not_checked",
   "event": {
    "event_id": "s-956b3f4d80d8",
    "display_name": "Celtic — Beşiktaş",
    "competition_name": "UEFA Europa League",
    "starts_at": "2026-11-05T20:00:00.000Z",
    "url": "/football/matches/celtic-vs-besiktas-2026-11-05/",
    "scoreline": "3-2",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Celtic 1-2 Beşiktaş",
   "odds_set": {
    "by_author": "9.5",
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-11-03T20:35:34.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-03T20:35:34.000Z",
    "detected_at": "2026-11-03T20:48:21.915Z",
    "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": "Celtic 1-2 Beşiktaş",
    "author_odds": "9.5",
    "market_key": "correct_score_market",
    "choice_key": "1-2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Celtic 1-2 Beşiktaş at 9.5"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "3-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Celtic 3-2 Beşiktaş."
   },
   "settlements": [
    {
     "operation_id": "158bd2a7a8967182eed1cb16c6b4371f04032792f9b125f02afcd18c30aaecec",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Correct score",
     "choice": "Celtic 1-2 Beşiktaş",
     "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": "4d4e11ba4a687f94afec207c2dbce4925ca9d696050cf21b63ddb06a85827165",
     "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": 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/celtic-vs-besiktas-prediction-05-11-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-74423e79918741d4379ed1f3",
   "url": "/authors/joshua-cole/picks/9/#pick-n-74423e79918741d4379ed1f3",
   "quote_text": "both teams to score (53/100)",
   "fragment_from": 4888,
   "fragment_to": 4916,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/celtic-vs-besiktas-prediction-05-11-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d3f6a40d88894df075a1489e211fa0f6bdfdfe41ffe33e0c6130f6fe0add7777",
    "material_removed": false
   },
   "published_at": "2026-11-03T20:35:34.000Z",
   "detected_at": "2026-11-03T20:48:21.915Z",
   "executed_at": "2026-11-03T20:58:09.014Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-956b3f4d80d8",
    "display_name": "Celtic — Beşiktaş",
    "competition_name": "UEFA Europa League",
    "starts_at": "2026-11-05T20:00:00.000Z",
    "url": "/football/matches/celtic-vs-besiktas-2026-11-05/",
    "scoreline": "3-2",
    "condition": "finished"
   },
   "market_label": "Both teams to score",
   "outcome_label": "yes",
   "odds_set": {
    "by_author": "1.53",
    "our_snapshot": "1.5000",
    "our_snapshot_at": "2026-11-03T20:45:50.338Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 5000,
   "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-03T20:35:34.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-03T20:35:34.000Z",
    "detected_at": "2026-11-03T20:48:21.915Z",
    "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.53",
    "market_key": "both_teams_score",
    "choice_key": "yes",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Both teams to score: yes at 1.53"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "3-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won: the final score was Celtic 3-2 Beşiktaş."
   },
   "settlements": [
    {
     "operation_id": "105fe2c9cb651724eb80f490f0bfa2eb8ad92758a72606cc62fbfff3f12d4d9d",
     "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.53",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 5300,
     "executed_at": "2026-11-03T20:58:05.330Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "073250ea852e6b18b2149c869212d5810343bff37ade8f09eb17daa1c49ca3f3",
     "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.5000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 5000,
     "executed_at": "2026-11-03T20:58:09.014Z",
     "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/celtic-vs-besiktas-prediction-05-11-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-cbb04033779170baa16f8e50",
   "url": "/authors/joshua-cole/picks/9/#pick-n-cbb04033779170baa16f8e50",
   "quote_text": "over 2.5 goals at 1.69 (69/100)",
   "fragment_from": 4852,
   "fragment_to": 4883,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/celtic-vs-besiktas-prediction-05-11-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d3f6a40d88894df075a1489e211fa0f6bdfdfe41ffe33e0c6130f6fe0add7777",
    "material_removed": false
   },
   "published_at": "2026-11-03T20:35:34.000Z",
   "detected_at": "2026-11-03T20:48:21.915Z",
   "executed_at": "2026-11-03T20:58:13.676Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-956b3f4d80d8",
    "display_name": "Celtic — Beşiktaş",
    "competition_name": "UEFA Europa League",
    "starts_at": "2026-11-05T20:00:00.000Z",
    "url": "/football/matches/celtic-vs-besiktas-2026-11-05/",
    "scoreline": "3-2",
    "condition": "finished"
   },
   "market_label": "Over/Under 2.5 goals",
   "outcome_label": "over 2.5",
   "odds_set": {
    "by_author": "1.69",
    "our_snapshot": "1.5700",
    "our_snapshot_at": "2026-11-03T20:45:50.338Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 5700,
   "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-03T20:35:34.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-03T20:35:34.000Z",
    "detected_at": "2026-11-03T20:48:21.915Z",
    "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.69",
    "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.69"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "3-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won: the final score was Celtic 3-2 Beşiktaş."
   },
   "settlements": [
    {
     "operation_id": "05a7201f9d59edc2d3a94f8e714c699adc0b616539d3d8e0167a2b984fd65bfa",
     "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.69",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 6900,
     "executed_at": "2026-11-03T20:58:09.258Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "93997b1e8832776d0d03c0f95e882c3a32c5a42183bbc06b0036c32ff673e9ea",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 2.5 goals",
     "choice": "over 2.5",
     "decimal_odds": "1.5700",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 5700,
     "executed_at": "2026-11-03T20:58:13.676Z",
     "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/celtic-vs-besiktas-prediction-05-11-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-879fa8ffa61d3fc9b384c161",
   "url": "/authors/joshua-cole/picks/9/#pick-n-879fa8ffa61d3fc9b384c161",
   "quote_text": "an away win at 2.35 (27/20) has a lot of value.",
   "fragment_from": 4600,
   "fragment_to": 4647,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/celtic-vs-besiktas-prediction-05-11-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d3f6a40d88894df075a1489e211fa0f6bdfdfe41ffe33e0c6130f6fe0add7777",
    "material_removed": false
   },
   "published_at": "2026-11-03T20:35:34.000Z",
   "detected_at": "2026-11-03T20:48:21.915Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "not_checked",
   "event": {
    "event_id": "s-956b3f4d80d8",
    "display_name": "Celtic — Beşiktaş",
    "competition_name": "UEFA Europa League",
    "starts_at": "2026-11-05T20:00:00.000Z",
    "url": "/football/matches/celtic-vs-besiktas-2026-11-05/",
    "scoreline": "3-2",
    "condition": "finished"
   },
   "market_label": "1X2, match result",
   "outcome_label": "Beşiktaş",
   "odds_set": {
    "by_author": "2.35",
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-11-03T20:35:34.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-03T20:35:34.000Z",
    "detected_at": "2026-11-03T20:48:21.915Z",
    "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": "Beşiktaş",
    "author_odds": "2.35",
    "market_key": "1x2",
    "choice_key": "2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: Beşiktaş at 2.35"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "3-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was Celtic 3-2 Beşiktaş."
   },
   "settlements": [
    {
     "operation_id": "576a48e06165b9520f363639bc6d3b043577e5762df3a79f5dc20c5dfae8212e",
     "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": "Beşiktaş",
     "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": "50160a5f98cd6a44514b0fc7b62fcd68141ef506cac87966ecc3a2534b7b76a9",
     "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": "Beşiktaş",
     "decimal_odds": null,
     "odds_role": null,
     "stake_hundredths": null,
     "status": "skipped",
     "status_text": "Not executed: ",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": null,
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Joshua Cole",
    "publisher": "Football Whispers",
    "forecaster": "Joshua Cole",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/celtic-vs-besiktas-prediction-05-11-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-0ed23c17b0ad48dd4a60fb7c",
   "url": "/evidence/?pick=n-0ed23c17b0ad48dd4a60fb7c",
   "quote_text": "Trabzonspor have several injury concerns ahead of Thursday's match",
   "fragment_from": 3178,
   "fragment_to": 3244,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/trabzonspor-vs-freiburg-prediction-05-11-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "04bb35dd74c144cb570de8656d7f031b17bce799a08f5dbb79c815baa50d9da0",
    "material_removed": false
   },
   "published_at": "2026-11-03T19:28:55.000Z",
   "detected_at": "2026-11-03T19:44:17.158Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-03T19:28:55.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-03T19:28:55.000Z",
    "detected_at": "2026-11-03T19:44:17.158Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-cc71ac2bfe1983df84cb502e",
   "url": "/evidence/?pick=n-cc71ac2bfe1983df84cb502e",
   "quote_text": "Mohamed Salah has scored in both of the club's Conference League matches so far",
   "fragment_from": 3707,
   "fragment_to": 3786,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/trabzonspor-vs-freiburg-prediction-05-11-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "04bb35dd74c144cb570de8656d7f031b17bce799a08f5dbb79c815baa50d9da0",
    "material_removed": false
   },
   "published_at": "2026-11-03T19:28:55.000Z",
   "detected_at": "2026-11-03T19:44:17.158Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-03T19:28:55.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-03T19:28:55.000Z",
    "detected_at": "2026-11-03T19:44:17.158Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-7a3fd164c6a9d84f32ea9ca8",
   "url": "/authors/joshua-cole/picks/9/#pick-n-7a3fd164c6a9d84f32ea9ca8",
   "quote_text": "Correct score: Trabzonspor 2-1 Freiburg at 9.80 (44/5)",
   "fragment_from": 5674,
   "fragment_to": 5728,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/trabzonspor-vs-freiburg-prediction-05-11-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "04bb35dd74c144cb570de8656d7f031b17bce799a08f5dbb79c815baa50d9da0",
    "material_removed": false
   },
   "published_at": "2026-11-03T19:28:55.000Z",
   "detected_at": "2026-11-03T19:44:17.158Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "ambiguous",
   "event": {
    "event_id": "s-4cb5a6b23560",
    "display_name": "Trabzonspor — SC Freiburg",
    "competition_name": "UEFA Conference League",
    "starts_at": "2026-11-05T17:45:00.000Z",
    "url": "/football/matches/trabzonspor-vs-sc-freiburg-2026-11-05/",
    "scoreline": "0-1",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Trabzonspor 2-1 SC Freiburg",
   "odds_set": {
    "by_author": "9.8",
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-11-03T19:28:55.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-03T19:28:55.000Z",
    "detected_at": "2026-11-03T19:44:17.158Z",
    "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": "Trabzonspor 2-1 SC Freiburg",
    "author_odds": "9.8",
    "market_key": "correct_score_market",
    "choice_key": "2-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Trabzonspor 2-1 SC Freiburg at 9.8"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "0-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Trabzonspor 0-1 SC Freiburg."
   },
   "settlements": [
    {
     "operation_id": "03b8155615fa9c3263c6aef5ffdd187b82f66ca218938801ae39d2fa0421d0af",
     "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": "Trabzonspor",
     "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/trabzonspor-vs-freiburg-prediction-05-11-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-f3985d7738f499dec5145b66",
   "url": "/authors/joshua-cole/picks/9/#pick-n-f3985d7738f499dec5145b66",
   "quote_text": "and over 2.5 goals at 1.55 (11/20) solid picks.",
   "fragment_from": 5407,
   "fragment_to": 5454,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/trabzonspor-vs-freiburg-prediction-05-11-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "04bb35dd74c144cb570de8656d7f031b17bce799a08f5dbb79c815baa50d9da0",
    "material_removed": false
   },
   "published_at": "2026-11-03T19:28:55.000Z",
   "detected_at": "2026-11-03T19:44:17.158Z",
   "executed_at": "2026-11-03T19:47:39.735Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-4cb5a6b23560",
    "display_name": "Trabzonspor — SC Freiburg",
    "competition_name": "UEFA Conference League",
    "starts_at": "2026-11-05T17:45:00.000Z",
    "url": "/football/matches/trabzonspor-vs-sc-freiburg-2026-11-05/",
    "scoreline": "0-1",
    "condition": "finished"
   },
   "market_label": "Over/Under 2.5 goals",
   "outcome_label": "over 2.5",
   "odds_set": {
    "by_author": "1.55",
    "our_snapshot": "1.5000",
    "our_snapshot_at": "2026-11-03T19:39:25.942Z",
    "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-03T19:28:55.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-03T19:28:55.000Z",
    "detected_at": "2026-11-03T19:44:17.158Z",
    "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.55",
    "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.55"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "0-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was Trabzonspor 0-1 SC Freiburg."
   },
   "settlements": [
    {
     "operation_id": "27b318aac4c20a04d474154e0bdfd51f58edd87d2f021e1f1476258835a6483e",
     "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.55",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-03T19:47:38.991Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "5885dfb8ca043992b956e9e04d240545292864ec4cd40e97d146cac9094c19ec",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 2.5 goals",
     "choice": "over 2.5",
     "decimal_odds": "1.5000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-03T19:47:39.735Z",
     "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/trabzonspor-vs-freiburg-prediction-05-11-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-355cf37fb53eee2ae22abd28",
   "url": "/authors/joshua-cole/picks/9/#pick-n-355cf37fb53eee2ae22abd28",
   "quote_text": "making home win at 2.39 (139/100) a decent pick.",
   "fragment_from": 5161,
   "fragment_to": 5209,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/trabzonspor-vs-freiburg-prediction-05-11-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "04bb35dd74c144cb570de8656d7f031b17bce799a08f5dbb79c815baa50d9da0",
    "material_removed": false
   },
   "published_at": "2026-11-03T19:28:55.000Z",
   "detected_at": "2026-11-03T19:44:17.158Z",
   "executed_at": "2026-11-03T19:47:38.846Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-4cb5a6b23560",
    "display_name": "Trabzonspor — SC Freiburg",
    "competition_name": "UEFA Conference League",
    "starts_at": "2026-11-05T17:45:00.000Z",
    "url": "/football/matches/trabzonspor-vs-sc-freiburg-2026-11-05/",
    "scoreline": "0-1",
    "condition": "finished"
   },
   "market_label": "1X2, match result",
   "outcome_label": "Trabzonspor",
   "odds_set": {
    "by_author": "2.39",
    "our_snapshot": "2.4500",
    "our_snapshot_at": "2026-11-03T19:39:25.942Z",
    "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-03T19:28:55.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-03T19:28:55.000Z",
    "detected_at": "2026-11-03T19:44:17.158Z",
    "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": "Trabzonspor",
    "author_odds": "2.39",
    "market_key": "1x2",
    "choice_key": "1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: Trabzonspor at 2.39"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "0-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was Trabzonspor 0-1 SC Freiburg."
   },
   "settlements": [
    {
     "operation_id": "e367b2a43ed60c489adb1e1126068aa4c3637d866daec2607e284112c0cddb3f",
     "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": "Trabzonspor",
     "decimal_odds": "2.39",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-03T19:47:38.078Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "48eb4316b1449523963681773afc67abc1d2c9def35502845b68febc05f4bf23",
     "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": "Trabzonspor",
     "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-03T19:47:38.846Z",
     "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/trabzonspor-vs-freiburg-prediction-05-11-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-1655dac0ec6a6e96d0a1ded1",
   "url": "/authors/joshua-cole/picks/9/#pick-n-1655dac0ec6a6e96d0a1ded1",
   "quote_text": "making both teams to score at 1.45 (9/20)",
   "fragment_from": 5365,
   "fragment_to": 5406,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/trabzonspor-vs-freiburg-prediction-05-11-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "04bb35dd74c144cb570de8656d7f031b17bce799a08f5dbb79c815baa50d9da0",
    "material_removed": false
   },
   "published_at": "2026-11-03T19:28:55.000Z",
   "detected_at": "2026-11-03T19:44:17.158Z",
   "executed_at": "2026-11-03T19:47:37.957Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-4cb5a6b23560",
    "display_name": "Trabzonspor — SC Freiburg",
    "competition_name": "UEFA Conference League",
    "starts_at": "2026-11-05T17:45:00.000Z",
    "url": "/football/matches/trabzonspor-vs-sc-freiburg-2026-11-05/",
    "scoreline": "0-1",
    "condition": "finished"
   },
   "market_label": "Both teams to score",
   "outcome_label": "yes",
   "odds_set": {
    "by_author": "1.45",
    "our_snapshot": "1.4100",
    "our_snapshot_at": "2026-11-03T19:39:25.942Z",
    "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-03T19:28:55.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-03T19:28:55.000Z",
    "detected_at": "2026-11-03T19:44:17.158Z",
    "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.45",
    "market_key": "both_teams_score",
    "choice_key": "yes",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Both teams to score: yes at 1.45"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "0-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was Trabzonspor 0-1 SC Freiburg."
   },
   "settlements": [
    {
     "operation_id": "d3b0deb735bd942632809c862c3c583bc194485246ef96f4a9643fa95c9132d1",
     "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.45",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-03T19:47:37.089Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "bafab36ed623d929266d7b03299fca22448b5e9b0657b8972f3df2e8383fb601",
     "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.4100",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-03T19:47:37.957Z",
     "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/trabzonspor-vs-freiburg-prediction-05-11-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-dfdd3b0d228e44642213b592",
   "url": "/evidence/?pick=n-dfdd3b0d228e44642213b592",
   "quote_text": "Angelo Stiller expected to miss out with a groin problem, while Leo Sauer is sidelined by a muscle",
   "fragment_from": 3962,
   "fragment_to": 4060,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/galatasaray-vs-stuttgart-prediction-03-11-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "db2dbd248265854c15f3fb2ce3f32f65e8a941a6157d3ceb387db334e2400fed",
    "material_removed": false
   },
   "published_at": "2026-11-01T16:05:27.000Z",
   "detected_at": "2026-11-01T16:14:17.652Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-01T16:05:27.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-01T16:05:27.000Z",
    "detected_at": "2026-11-01T16:14:17.652Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-e0214bfa412502b1a3248157",
   "url": "/authors/joshua-cole/picks/9/#pick-n-e0214bfa412502b1a3248157",
   "quote_text": "Correct score: Galatasaray 2-2 Stuttgart at 9.90 (89/10) | Likelihood: Low",
   "fragment_from": 5234,
   "fragment_to": 5308,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/galatasaray-vs-stuttgart-prediction-03-11-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "db2dbd248265854c15f3fb2ce3f32f65e8a941a6157d3ceb387db334e2400fed",
    "material_removed": false
   },
   "published_at": "2026-11-01T16:05:27.000Z",
   "detected_at": "2026-11-01T16:14:17.652Z",
   "executed_at": "2026-11-02T16:58:48.114Z",
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-fd57a6a9d1f7",
    "display_name": "Galatasaray — VfB Stuttgart",
    "competition_name": "UEFA Champions League",
    "starts_at": "2026-11-03T17:45:00.000Z",
    "url": "/football/matches/galatasaray-vs-vfb-stuttgart-2026-11-03/",
    "scoreline": "2-0",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Galatasaray 2-2 VfB Stuttgart",
   "odds_set": {
    "by_author": "9.9",
    "our_snapshot": "10.0000",
    "our_snapshot_at": "2026-11-01T16:12:03.060Z",
    "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-01T16:05:27.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-01T16:05:27.000Z",
    "detected_at": "2026-11-01T16:14:17.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": "Galatasaray 2-2 VfB Stuttgart",
    "author_odds": "9.9",
    "market_key": "correct_score_market",
    "choice_key": "2-2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Galatasaray 2-2 VfB Stuttgart at 9.9"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "2-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Galatasaray 2-0 VfB Stuttgart."
   },
   "settlements": [
    {
     "operation_id": "806871315af715ad0c84a4cb3fea31a28ec91526cdb8fd8fed517377def70e21",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Correct score",
     "choice": "Galatasaray 2-2 VfB Stuttgart",
     "decimal_odds": "10.0000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-02T16:58:48.114Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "ba6ed47bb50e6012b9f721fb3d4ffd5f95d39b3a30d844ba21d775ad21b71561",
     "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.0000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-02T16:58:49.299Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "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/galatasaray-vs-stuttgart-prediction-03-11-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-ea3cbb8abb1c484a12fa1945",
   "url": "/authors/joshua-cole/picks/9/#pick-n-ea3cbb8abb1c484a12fa1945",
   "quote_text": "Match result – Draw at 4.00 (3/1) | Likelihood: Medium",
   "fragment_from": 5176,
   "fragment_to": 5230,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/galatasaray-vs-stuttgart-prediction-03-11-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "db2dbd248265854c15f3fb2ce3f32f65e8a941a6157d3ceb387db334e2400fed",
    "material_removed": false
   },
   "published_at": "2026-11-01T16:05:27.000Z",
   "detected_at": "2026-11-01T16:14:17.652Z",
   "executed_at": "2026-11-07T09:45:23.703Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-fd57a6a9d1f7",
    "display_name": "Galatasaray — VfB Stuttgart",
    "competition_name": "UEFA Champions League",
    "starts_at": "2026-11-03T17:45:00.000Z",
    "url": "/football/matches/galatasaray-vs-vfb-stuttgart-2026-11-03/",
    "scoreline": "2-0",
    "condition": "finished"
   },
   "market_label": "1X2, match result",
   "outcome_label": "draw",
   "odds_set": {
    "by_author": "4",
    "our_snapshot": "4.0000",
    "our_snapshot_at": "2026-11-01T16:13:24.228Z",
    "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-01T16:05:27.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-01T16:05:27.000Z",
    "detected_at": "2026-11-01T16:14:17.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": "1X2, match result",
    "choice": "draw",
    "author_odds": "4",
    "market_key": "1x2",
    "choice_key": "X",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: draw at 4"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "2-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was Galatasaray 2-0 VfB Stuttgart."
   },
   "settlements": [
    {
     "operation_id": "c7052fbc25c9ce97a930552ebef09efe919d07c2c06166a0fe074e6e5d3c1bb5",
     "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": "draw",
     "decimal_odds": "4",
     "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:45:23.675Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "70490f6ee9615b976801c66da969bf38e6cba1f59a9a507568215077974d8534",
     "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": "draw",
     "decimal_odds": "4.0000",
     "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:45:23.703Z",
     "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/galatasaray-vs-stuttgart-prediction-03-11-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-ac8cf90892a2938d329950fb",
   "url": "/authors/joshua-cole/picks/9/#pick-n-ac8cf90892a2938d329950fb",
   "quote_text": "Over 2.5 goals at 1.43 (43/100 | Likelihood: High",
   "fragment_from": 5123,
   "fragment_to": 5172,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/galatasaray-vs-stuttgart-prediction-03-11-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "db2dbd248265854c15f3fb2ce3f32f65e8a941a6157d3ceb387db334e2400fed",
    "material_removed": false
   },
   "published_at": "2026-11-01T16:05:27.000Z",
   "detected_at": "2026-11-01T16:14:17.652Z",
   "executed_at": "2026-11-07T09:45:23.657Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-fd57a6a9d1f7",
    "display_name": "Galatasaray — VfB Stuttgart",
    "competition_name": "UEFA Champions League",
    "starts_at": "2026-11-03T17:45:00.000Z",
    "url": "/football/matches/galatasaray-vs-vfb-stuttgart-2026-11-03/",
    "scoreline": "2-0",
    "condition": "finished"
   },
   "market_label": "Over/Under 2.5 goals",
   "outcome_label": "over 2.5",
   "odds_set": {
    "by_author": "1.43",
    "our_snapshot": "1.4098",
    "our_snapshot_at": "2026-11-01T16:13:24.228Z",
    "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-01T16:05:27.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-01T16:05:27.000Z",
    "detected_at": "2026-11-01T16:14:17.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": "Over/Under 2.5 goals",
    "choice": "over 2.5",
    "author_odds": "1.43",
    "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.43"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "2-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was Galatasaray 2-0 VfB Stuttgart."
   },
   "settlements": [
    {
     "operation_id": "ed6c13a88a7d103219d4e1054a61e95eb8578f37676f8cad2daa6ae15b54436b",
     "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.43",
     "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:45:23.477Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "d66431b61c09dfaabe165c49d14a7612228e156abbceace9a6885573adce0116",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 2.5 goals",
     "choice": "over 2.5",
     "decimal_odds": "1.4098",
     "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:45:23.657Z",
     "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/galatasaray-vs-stuttgart-prediction-03-11-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-b8b4d191a1e5f433ebf4de2f",
   "url": "/authors/joshua-cole/picks/9/#pick-n-b8b4d191a1e5f433ebf4de2f",
   "quote_text": "Both teams to score at 1.41 (41/100 | Likelihood: High",
   "fragment_from": 5065,
   "fragment_to": 5119,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/galatasaray-vs-stuttgart-prediction-03-11-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "db2dbd248265854c15f3fb2ce3f32f65e8a941a6157d3ceb387db334e2400fed",
    "material_removed": false
   },
   "published_at": "2026-11-01T16:05:27.000Z",
   "detected_at": "2026-11-01T16:14:17.652Z",
   "executed_at": "2026-11-02T16:58:47.268Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-fd57a6a9d1f7",
    "display_name": "Galatasaray — VfB Stuttgart",
    "competition_name": "UEFA Champions League",
    "starts_at": "2026-11-03T17:45:00.000Z",
    "url": "/football/matches/galatasaray-vs-vfb-stuttgart-2026-11-03/",
    "scoreline": "2-0",
    "condition": "finished"
   },
   "market_label": "Both teams to score",
   "outcome_label": "yes",
   "odds_set": {
    "by_author": "1.41",
    "our_snapshot": "1.3775",
    "our_snapshot_at": "2026-11-01T16:13:24.228Z",
    "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-01T16:05:27.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-01T16:05:27.000Z",
    "detected_at": "2026-11-01T16:14:17.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": "Both teams to score",
    "choice": "yes",
    "author_odds": "1.41",
    "market_key": "both_teams_score",
    "choice_key": "yes",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Both teams to score: yes at 1.41"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "2-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was Galatasaray 2-0 VfB Stuttgart."
   },
   "settlements": [
    {
     "operation_id": "06a26edd6286bfa057ae7e2ca8678df3becf20af81ba2a668fce4c8c07cd4bd4",
     "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.41",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-02T16:58:42.101Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "f5e2ba9e25cf7aa45644ef171ec1e8287dce0ad66f82f92967f1b241b3ebe88f",
     "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.3775",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-02T16:58:47.268Z",
     "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/galatasaray-vs-stuttgart-prediction-03-11-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-be0149dc142d3687f7106434",
   "url": "/evidence/?pick=n-be0149dc142d3687f7106434",
   "quote_text": "Osasuna will also be without several players, with Jorge Herrando and Romain Del Castillo sidelined ",
   "fragment_from": 4340,
   "fragment_to": 4440,
   "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": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "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": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-f97119cb69c8177c86c3a7f7",
   "url": "/evidence/?pick=n-f97119cb69c8177c86c3a7f7",
   "quote_text": "Deportivo are expected to be without defender Bright Ede, midfielder Marc Casado and forward Zakaria",
   "fragment_from": 2903,
   "fragment_to": 3003,
   "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": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "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": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-cf89bb2e90e0c63c3150d36d",
   "url": "/evidence/?pick=n-cf89bb2e90e0c63c3150d36d",
   "quote_text": "Deportivo are one of only two La Liga sides yet to keep a clean sheet this season.",
   "fragment_from": 3349,
   "fragment_to": 3431,
   "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": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "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": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-c3cc392facc2c37a15a55023",
   "url": "/authors/joshua-cole/picks/9/#pick-n-c3cc392facc2c37a15a55023",
   "quote_text": "Both teams to score at 1.95 (19/20) | Likelihood: Medium",
   "fragment_from": 5514,
   "fragment_to": 5570,
   "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:52.893Z",
   "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": "Both teams to score",
   "outcome_label": "yes",
   "odds_set": {
    "by_author": "1.95",
    "our_snapshot": "1.8929",
    "our_snapshot_at": "2026-11-01T14:21:49.566Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 8929,
   "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": "Both teams to score",
    "choice": "yes",
    "author_odds": "1.95",
    "market_key": "both_teams_score",
    "choice_key": "yes",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Both teams to score: yes at 1.95"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "2-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won: the final score was Deportivo de A Coruña 2-1 Osasuna."
   },
   "settlements": [
    {
     "operation_id": "fddc424d28fec4a0c71e7f7b7ff2222f98387ebb10ae4896a975ad69e58b1b15",
     "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.95",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 9500,
     "executed_at": "2026-11-02T07:35:52.045Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "cb239ce9f4a32aa7184f14989f1fc22bfea6d5ce9021a408022571a957cce8cc",
     "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.8929",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 8929,
     "executed_at": "2026-11-02T07:35:52.893Z",
     "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
  },
  {
   "observation_id": "n-8525f5f0e8028b0aa285d1f1",
   "url": "/authors/joshua-cole/picks/8/#pick-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
  },
  {
   "observation_id": "n-ade37267d504c6ae785d0f06",
   "url": "/authors/joshua-cole/picks/9/#pick-n-ade37267d504c6ae785d0f06",
   "quote_text": "Match result – Draw at 3.43 (243/10 | Likelihood: Medium",
   "fragment_from": 5629,
   "fragment_to": 5685,
   "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-07T09:45:32.353Z",
   "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": "1X2, match result",
   "outcome_label": "draw",
   "odds_set": {
    "by_author": "3.43",
    "our_snapshot": "3.2500",
    "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": "1X2, match result",
    "choice": "draw",
    "author_odds": "3.43",
    "market_key": "1x2",
    "choice_key": "X",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: draw at 3.43"
   },
   "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": "f7e5ee7f9531df11a549529a0f36cb26cca4012e21bbd73f291f2511b7cfba10",
     "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": "draw",
     "decimal_odds": "3.43",
     "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:45:30.726Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "b63725e8a02830f693d1d15dbe3c268c31aed6880341f3277c2904ab1406f97d",
     "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": "draw",
     "decimal_odds": "3.2500",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-07T09:45:32.353Z",
     "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
  },
  {
   "observation_id": "n-133871ba4b2090acef5cda67",
   "url": "/authors/joshua-cole/picks/8/#pick-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
  },
  {
   "observation_id": "n-6a204b485661397b62295078",
   "url": "/evidence/?pick=n-6a204b485661397b62295078",
   "quote_text": "Lopez has just told reporters he wants to finish his career at Barcelona, and the club rate him as",
   "fragment_from": 1014,
   "fragment_to": 1112,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/fermin-lopez-football-whispers-index-score/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "b7e22e7cffbfa09502d5a73ebb272bfbf089ddd2d57f6036aa1d501707ff5b38",
    "material_removed": false
   },
   "published_at": "2026-11-01T12:37:32.000Z",
   "detected_at": "2026-11-01T12:44:18.526Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-01T12:37:32.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-01T12:37:32.000Z",
    "detected_at": "2026-11-01T12:44:18.526Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-12ec15e2793908db80cafcd7",
   "url": "/evidence/?pick=n-12ec15e2793908db80cafcd7",
   "quote_text": "Barcelona have already shut the conversation down.",
   "fragment_from": 374,
   "fragment_to": 424,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/fermin-lopez-football-whispers-index-score/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "b7e22e7cffbfa09502d5a73ebb272bfbf089ddd2d57f6036aa1d501707ff5b38",
    "material_removed": false
   },
   "published_at": "2026-11-01T12:37:32.000Z",
   "detected_at": "2026-11-01T12:44:18.526Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-01T12:37:32.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-01T12:37:32.000Z",
    "detected_at": "2026-11-01T12:44:18.526Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-310f8a06e4faa247fd643971",
   "url": "/evidence/?pick=n-310f8a06e4faa247fd643971",
   "quote_text": "Manchester United have been linked with a move for Fermin Lopez as a long-term answer to their",
   "fragment_from": 252,
   "fragment_to": 346,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/fermin-lopez-football-whispers-index-score/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "b7e22e7cffbfa09502d5a73ebb272bfbf089ddd2d57f6036aa1d501707ff5b38",
    "material_removed": false
   },
   "published_at": "2026-11-01T12:37:32.000Z",
   "detected_at": "2026-11-01T12:44:18.526Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-01T12:37:32.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-01T12:37:32.000Z",
    "detected_at": "2026-11-01T12:44:18.526Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-ae5567b90b57daaa0bca3177",
   "url": "/evidence/?pick=n-ae5567b90b57daaa0bca3177",
   "quote_text": "Giovani Versini is unavailable with a lower-leg injury, and Raphael Le Guen continues his recovery from a broken fibula.",
   "fragment_from": 3393,
   "fragment_to": 3513,
   "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": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "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": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-c85702d29f03907515e5ee91",
   "url": "/evidence/?pick=n-c85702d29f03907515e5ee91",
   "quote_text": "Brendan Chardonnet dealing with a calf problem, while Romain Cagnon is doubtful after sustaining a knock.",
   "fragment_from": 3286,
   "fragment_to": 3391,
   "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": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "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": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-f74ce7ae4dd96926a2053501",
   "url": "/evidence/?pick=n-f74ce7ae4dd96926a2053501",
   "quote_text": "Panos Katseris has been managing muscle tightness.",
   "fragment_from": 2340,
   "fragment_to": 2390,
   "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": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "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": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-73f3f7ab4dda70a7b5270f7a",
   "url": "/evidence/?pick=n-73f3f7ab4dda70a7b5270f7a",
   "quote_text": "Bandiougou Fadiga and Noah Mbamba have been struggling with hamstring problems",
   "fragment_from": 2254,
   "fragment_to": 2332,
   "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": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "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": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-b00f0c758fbd9d03921f5ec9",
   "url": "/evidence/?pick=n-b00f0c758fbd9d03921f5ec9",
   "quote_text": "Mohamed Bamba dealing with physical discomfort.",
   "fragment_from": 2205,
   "fragment_to": 2252,
   "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": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "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": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-05db1c35a3536bc3817654e3",
   "url": "/authors/joshua-cole/picks/8/#pick-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
  },
  {
   "observation_id": "n-b26422e4a3f10b60544a6f38",
   "url": "/authors/joshua-cole/picks/8/#pick-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
  },
  {
   "observation_id": "n-486d13abae9059de98f3d6d3",
   "url": "/authors/joshua-cole/picks/8/#pick-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
  },
  {
   "observation_id": "n-f129746a90c27f568383bc07",
   "url": "/authors/joshua-cole/picks/8/#pick-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
  },
  {
   "observation_id": "n-4d9178025f695b29c2c5c847",
   "url": "/evidence/?pick=n-4d9178025f695b29c2c5c847",
   "quote_text": "Liverpool will want Isak to turn his current scoring form into another decisive performance",
   "fragment_from": 4314,
   "fragment_to": 4405,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/liverpool-vs-arsenal-how-alexander-isak-and-martin-odegaard-compare/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "a51cbd7749618ce8505c41080b28266e317f5b7f0239240f7fa55619fe3b688a",
    "material_removed": false
   },
   "published_at": "2026-10-31T15:26:05.000Z",
   "detected_at": "2026-10-31T15:34:20.008Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-31T15:26:05.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-31T15:26:05.000Z",
    "detected_at": "2026-10-31T15:34:20.008Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-e1bb72ad0040c18c9db53d0c",
   "url": "/evidence/?pick=n-e1bb72ad0040c18c9db53d0c",
   "quote_text": "Isak has had an impressive start to the season, scoring six goals in seven Premier League appearances",
   "fragment_from": 403,
   "fragment_to": 504,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/liverpool-vs-arsenal-how-alexander-isak-and-martin-odegaard-compare/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "a51cbd7749618ce8505c41080b28266e317f5b7f0239240f7fa55619fe3b688a",
    "material_removed": false
   },
   "published_at": "2026-10-31T15:26:05.000Z",
   "detected_at": "2026-10-31T15:34:20.008Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-31T15:26:05.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-31T15:26:05.000Z",
    "detected_at": "2026-10-31T15:34:20.008Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-84a0c1a93ae9eedb6c8b4d01",
   "url": "/evidence/?pick=n-84a0c1a93ae9eedb6c8b4d01",
   "quote_text": "Lois Openda has also been listed as unavailable",
   "fragment_from": 4185,
   "fragment_to": 4232,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/psg-vs-lyon-prediction-26-10-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "75a7779d9cc7aee474d946764bf1601cbdb5273af39ae951cd3c4f42ddf817c3",
    "material_removed": false
   },
   "published_at": "2026-10-24T21:33:12.000Z",
   "detected_at": "2026-10-24T21:45:07.234Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-24T21:33:12.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-24T21:33:12.000Z",
    "detected_at": "2026-10-24T21:45:07.234Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-7a8cd16d7b26317bf3a0bd26",
   "url": "/evidence/?pick=n-7a8cd16d7b26317bf3a0bd26",
   "quote_text": "Keito Nakamura is suspended following his red card against Nice",
   "fragment_from": 4119,
   "fragment_to": 4182,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/psg-vs-lyon-prediction-26-10-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "75a7779d9cc7aee474d946764bf1601cbdb5273af39ae951cd3c4f42ddf817c3",
    "material_removed": false
   },
   "published_at": "2026-10-24T21:33:12.000Z",
   "detected_at": "2026-10-24T21:45:07.234Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-24T21:33:12.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-24T21:33:12.000Z",
    "detected_at": "2026-10-24T21:45:07.234Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-c81ae9ec1b15c83ac2a836c9",
   "url": "/evidence/?pick=n-c81ae9ec1b15c83ac2a836c9",
   "quote_text": "Nicolas Tagliafico and Mohamed Ouedraogo listed among the unavailable players",
   "fragment_from": 4034,
   "fragment_to": 4111,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/psg-vs-lyon-prediction-26-10-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "75a7779d9cc7aee474d946764bf1601cbdb5273af39ae951cd3c4f42ddf817c3",
    "material_removed": false
   },
   "published_at": "2026-10-24T21:33:12.000Z",
   "detected_at": "2026-10-24T21:45:07.234Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-24T21:33:12.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-24T21:33:12.000Z",
    "detected_at": "2026-10-24T21:45:07.234Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-7150245d65dfee6b3dcf8fa7",
   "url": "/evidence/?pick=n-7150245d65dfee6b3dcf8fa7",
   "quote_text": "Nuno Mendes is also unavailable with a muscle problem",
   "fragment_from": 2605,
   "fragment_to": 2658,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/psg-vs-lyon-prediction-26-10-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "75a7779d9cc7aee474d946764bf1601cbdb5273af39ae951cd3c4f42ddf817c3",
    "material_removed": false
   },
   "published_at": "2026-10-24T21:33:12.000Z",
   "detected_at": "2026-10-24T21:45:07.234Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-24T21:33:12.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-24T21:33:12.000Z",
    "detected_at": "2026-10-24T21:45:07.234Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-e069fc638ce1cddb876b20a5",
   "url": "/evidence/?pick=n-e069fc638ce1cddb876b20a5",
   "quote_text": "Ousmane Dembele and Marquinhos sustained thigh injuries that are expected to keep them out",
   "fragment_from": 2494,
   "fragment_to": 2584,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/psg-vs-lyon-prediction-26-10-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "75a7779d9cc7aee474d946764bf1601cbdb5273af39ae951cd3c4f42ddf817c3",
    "material_removed": false
   },
   "published_at": "2026-10-24T21:33:12.000Z",
   "detected_at": "2026-10-24T21:45:07.234Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-24T21:33:12.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-24T21:33:12.000Z",
    "detected_at": "2026-10-24T21:45:07.234Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-a94022ec56fca0a8df6074b7",
   "url": "/evidence/?pick=n-a94022ec56fca0a8df6074b7",
   "quote_text": "Khvicha Kvaratskhelia suffered an anterior cruciate ligament injury and is expected to miss",
   "fragment_from": 2374,
   "fragment_to": 2465,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/psg-vs-lyon-prediction-26-10-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "75a7779d9cc7aee474d946764bf1601cbdb5273af39ae951cd3c4f42ddf817c3",
    "material_removed": false
   },
   "published_at": "2026-10-24T21:33:12.000Z",
   "detected_at": "2026-10-24T21:45:07.234Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-24T21:33:12.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-24T21:33:12.000Z",
    "detected_at": "2026-10-24T21:45:07.234Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-549496003c9b7f6efcb92e9a",
   "url": "/evidence/?pick=n-549496003c9b7f6efcb92e9a",
   "quote_text": "taking advantage of the Ladbrokes sign up offer 2026 is a great way to add extra excitement",
   "fragment_from": 1001,
   "fragment_to": 1092,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/psg-vs-lyon-prediction-26-10-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "75a7779d9cc7aee474d946764bf1601cbdb5273af39ae951cd3c4f42ddf817c3",
    "material_removed": false
   },
   "published_at": "2026-10-24T21:33:12.000Z",
   "detected_at": "2026-10-24T21:45:07.234Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-24T21:33:12.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-24T21:33:12.000Z",
    "detected_at": "2026-10-24T21:45:07.234Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-a94efabcedbaf7265e4988d2",
   "url": "/authors/joshua-cole/picks/7/#pick-n-a94efabcedbaf7265e4988d2",
   "quote_text": "Correct score: PSG 2-1 Lyon at 9.00 (8/1)",
   "fragment_from": 5234,
   "fragment_to": 5275,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/psg-vs-lyon-prediction-26-10-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "75a7779d9cc7aee474d946764bf1601cbdb5273af39ae951cd3c4f42ddf817c3",
    "material_removed": false
   },
   "published_at": "2026-10-24T21:33:12.000Z",
   "detected_at": "2026-10-24T21:45:07.234Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "not_checked",
   "event": {
    "event_id": "s-4bf1ea244970",
    "display_name": "Paris Saint-Germain — Olympique Lyonnais",
    "competition_name": "Ligue 1",
    "starts_at": "2026-10-26T19:30:00.000Z",
    "url": "/football/matches/paris-saint-germain-vs-olympique-lyonnais-2026-10-26/",
    "scoreline": "2-0",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Paris Saint-Germain 2-1 Olympique Lyonnais",
   "odds_set": {
    "by_author": "9",
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-24T21:33:12.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-24T21:33:12.000Z",
    "detected_at": "2026-10-24T21:45:07.234Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Correct score",
    "choice": "Paris Saint-Germain 2-1 Olympique Lyonnais",
    "author_odds": "9",
    "market_key": "correct_score_market",
    "choice_key": "2-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Paris Saint-Germain 2-1 Olympique Lyonnais at 9"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "2-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Paris Saint-Germain 2-0 Olympique Lyonnais."
   },
   "settlements": [
    {
     "operation_id": "d82c2b936c1054b87725a2e0212ead865efc8dd2a9a4762b6ca352c60618bb8b",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Correct score",
     "choice": "Paris Saint-Germain 2-1 Olympique Lyonnais",
     "decimal_odds": null,
     "odds_role": null,
     "stake_hundredths": null,
     "status": "skipped",
     "status_text": "Not executed: ",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": null,
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "8bf67158949919cec663a82657935ab56b045fcf268fd4e20fbe0a66928c3d16",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Correct score",
     "choice": "Paris Saint-Germain 2-1 Olympique Lyonnais",
     "decimal_odds": null,
     "odds_role": null,
     "stake_hundredths": null,
     "status": "skipped",
     "status_text": "Not executed: ",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": null,
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Joshua Cole",
    "publisher": "Football Whispers",
    "forecaster": "Joshua Cole",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/psg-vs-lyon-prediction-26-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-672d135f80b4227c2babcda8",
   "url": "/authors/joshua-cole/picks/7/#pick-n-672d135f80b4227c2babcda8",
   "quote_text": "Both teams to score at 1.50 (1/2)",
   "fragment_from": 5178,
   "fragment_to": 5211,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/psg-vs-lyon-prediction-26-10-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "75a7779d9cc7aee474d946764bf1601cbdb5273af39ae951cd3c4f42ddf817c3",
    "material_removed": false
   },
   "published_at": "2026-10-24T21:33:12.000Z",
   "detected_at": "2026-10-24T21:45:07.234Z",
   "executed_at": "2026-11-07T11:57:21.644Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-4bf1ea244970",
    "display_name": "Paris Saint-Germain — Olympique Lyonnais",
    "competition_name": "Ligue 1",
    "starts_at": "2026-10-26T19:30:00.000Z",
    "url": "/football/matches/paris-saint-germain-vs-olympique-lyonnais-2026-10-26/",
    "scoreline": "2-0",
    "condition": "finished"
   },
   "market_label": "Both teams to score",
   "outcome_label": "yes",
   "odds_set": {
    "by_author": "1.5",
    "our_snapshot": "1.5300",
    "our_snapshot_at": "2026-10-24T21:44:54.764Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "loss",
   "simulation_change_hundredths": -10000,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "At an independent odds snapshot",
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-24T21:33:12.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-24T21:33:12.000Z",
    "detected_at": "2026-10-24T21:45:07.234Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Both teams to score",
    "choice": "yes",
    "author_odds": "1.5",
    "market_key": "both_teams_score",
    "choice_key": "yes",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Both teams to score: yes at 1.5"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "2-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was Paris Saint-Germain 2-0 Olympique Lyonnais."
   },
   "settlements": [
    {
     "operation_id": "38ed529d1b7a2ab157920340df8550aa07a2164caad0fb303b581f5cdb89d590",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Both teams to score",
     "choice": "yes",
     "decimal_odds": "1.5",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-07T11:57:20.733Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "786e0ee3f64e978b21cafc9dbc10637eff65ec56a252227be3890de149163778",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Both teams to score",
     "choice": "yes",
     "decimal_odds": "1.5300",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-07T11:57:21.644Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Joshua Cole",
    "publisher": "Football Whispers",
    "forecaster": "Joshua Cole",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/psg-vs-lyon-prediction-26-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-919a663368fe3d2486a8d5a0",
   "url": "/authors/joshua-cole/picks/7/#pick-n-919a663368fe3d2486a8d5a0",
   "quote_text": "Over 2.5 goals at 1.33 (1/3)",
   "fragment_from": 5079,
   "fragment_to": 5107,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/psg-vs-lyon-prediction-26-10-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "75a7779d9cc7aee474d946764bf1601cbdb5273af39ae951cd3c4f42ddf817c3",
    "material_removed": false
   },
   "published_at": "2026-10-24T21:33:12.000Z",
   "detected_at": "2026-10-24T21:45:07.234Z",
   "executed_at": "2026-10-26T15:39:01.100Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-4bf1ea244970",
    "display_name": "Paris Saint-Germain — Olympique Lyonnais",
    "competition_name": "Ligue 1",
    "starts_at": "2026-10-26T19:30:00.000Z",
    "url": "/football/matches/paris-saint-germain-vs-olympique-lyonnais-2026-10-26/",
    "scoreline": "2-0",
    "condition": "finished"
   },
   "market_label": "Over/Under 2.5 goals",
   "outcome_label": "over 2.5",
   "odds_set": {
    "by_author": "1.33",
    "our_snapshot": "1.3700",
    "our_snapshot_at": "2026-10-24T21:44:54.764Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "loss",
   "simulation_change_hundredths": -10000,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "At an independent odds snapshot",
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-24T21:33:12.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-24T21:33:12.000Z",
    "detected_at": "2026-10-24T21:45:07.234Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "Over/Under 2.5 goals",
    "choice": "over 2.5",
    "author_odds": "1.33",
    "market_key": "total",
    "choice_key": "over",
    "period": "match",
    "line": "2.5",
    "subject": "goals_total",
    "in_words": "Over/Under 2.5 goals: over 2.5 at 1.33"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "2-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was Paris Saint-Germain 2-0 Olympique Lyonnais."
   },
   "settlements": [
    {
     "operation_id": "939a412c33f32ed252f575bf2dedd74dcd7449c196000b1d359e0c79200e15b4",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 2.5 goals",
     "choice": "over 2.5",
     "decimal_odds": "1.33",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-26T15:38:59.972Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "db4da577e20e7f31c96fd72bb1a9ebc78ff073fa1e709b552e9bff97e12e0ee3",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 2.5 goals",
     "choice": "over 2.5",
     "decimal_odds": "1.3700",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-26T15:39:01.100Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Joshua Cole",
    "publisher": "Football Whispers",
    "forecaster": "Joshua Cole",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/psg-vs-lyon-prediction-26-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-d81a72be627d43d34063c124",
   "url": "/authors/joshua-cole/picks/7/#pick-n-d81a72be627d43d34063c124",
   "quote_text": "PSG to win at 1.36 (9/25)",
   "fragment_from": 5130,
   "fragment_to": 5155,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/psg-vs-lyon-prediction-26-10-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "75a7779d9cc7aee474d946764bf1601cbdb5273af39ae951cd3c4f42ddf817c3",
    "material_removed": false
   },
   "published_at": "2026-10-24T21:33:12.000Z",
   "detected_at": "2026-10-24T21:45:07.234Z",
   "executed_at": "2026-10-26T15:39:01.918Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-4bf1ea244970",
    "display_name": "Paris Saint-Germain — Olympique Lyonnais",
    "competition_name": "Ligue 1",
    "starts_at": "2026-10-26T19:30:00.000Z",
    "url": "/football/matches/paris-saint-germain-vs-olympique-lyonnais-2026-10-26/",
    "scoreline": "2-0",
    "condition": "finished"
   },
   "market_label": "1X2, match result",
   "outcome_label": "Paris Saint-Germain",
   "odds_set": {
    "by_author": "1.36",
    "our_snapshot": "1.4300",
    "our_snapshot_at": "2026-10-24T21:44:54.764Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 4300,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "At an independent odds snapshot",
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-24T21:33:12.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-24T21:33:12.000Z",
    "detected_at": "2026-10-24T21:45:07.234Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "1X2, match result",
    "choice": "Paris Saint-Germain",
    "author_odds": "1.36",
    "market_key": "1x2",
    "choice_key": "1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: Paris Saint-Germain at 1.36"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "2-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won: the final score was Paris Saint-Germain 2-0 Olympique Lyonnais."
   },
   "settlements": [
    {
     "operation_id": "63beedc51084e0e76d708e422400e0af163d3acd22e7eb20481b3e377874123d",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "1X2, match result",
     "choice": "Paris Saint-Germain",
     "decimal_odds": "1.36",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 3600,
     "executed_at": "2026-10-26T15:39:01.210Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "cf3bdb7b1bed2e15229a202c2f42d84d7cf4e2378a1241a224c2c0a20b38221e",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "1X2, match result",
     "choice": "Paris Saint-Germain",
     "decimal_odds": "1.4300",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 4300,
     "executed_at": "2026-10-26T15:39:01.918Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Joshua Cole",
    "publisher": "Football Whispers",
    "forecaster": "Joshua Cole",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/psg-vs-lyon-prediction-26-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-b0074a5ac99848b4ff04e7a5",
   "url": "/evidence/?pick=n-b0074a5ac99848b4ff04e7a5",
   "quote_text": "Our view is that this is a live option rather than a live deal, and the score reflects that.",
   "fragment_from": 8496,
   "fragment_to": 8588,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/yasin-ayari-football-whispers-index-score/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "3e95bbd74e68e6696a7e48ba78533e8ba728f490991322b88626722c371292a0",
    "material_removed": false
   },
   "published_at": "2026-10-23T15:19:03.000Z",
   "detected_at": "2026-10-23T15:34:17.263Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-23T15:19:03.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T15:19:03.000Z",
    "detected_at": "2026-10-23T15:34:17.263Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-ef90335f2b00c0b70b2c3e12",
   "url": "/evidence/?pick=n-ef90335f2b00c0b70b2c3e12",
   "quote_text": "The 23-year-old Sweden international is out of contract on 30 June 2027",
   "fragment_from": 354,
   "fragment_to": 425,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/yasin-ayari-football-whispers-index-score/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "3e95bbd74e68e6696a7e48ba78533e8ba728f490991322b88626722c371292a0",
    "material_removed": false
   },
   "published_at": "2026-10-23T15:19:03.000Z",
   "detected_at": "2026-10-23T15:34:17.263Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-23T15:19:03.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T15:19:03.000Z",
    "detected_at": "2026-10-23T15:34:17.263Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-e863da19d80b302a8b42fa7f",
   "url": "/evidence/?pick=n-e863da19d80b302a8b42fa7f",
   "quote_text": "Chelsea have joined Galatasaray in the race for Brighton midfielder Yasin Ayari",
   "fragment_from": 216,
   "fragment_to": 295,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/yasin-ayari-football-whispers-index-score/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "3e95bbd74e68e6696a7e48ba78533e8ba728f490991322b88626722c371292a0",
    "material_removed": false
   },
   "published_at": "2026-10-23T15:19:03.000Z",
   "detected_at": "2026-10-23T15:34:17.263Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-23T15:19:03.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T15:19:03.000Z",
    "detected_at": "2026-10-23T15:34:17.263Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-1cfe93cad8ba8bdb786728a3",
   "url": "/evidence/?pick=n-1cfe93cad8ba8bdb786728a3",
   "quote_text": "Ismael Boura dealing with a hip problem, while Paolo Gozzi is questionable after sustaining a knock.",
   "fragment_from": 2989,
   "fragment_to": 3089,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/toulouse-vs-troyes-prediction-25-10-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ed0d8e932a2e161ca7be7e1134d8e03869e21c3afb4aeffb3d73ea173f20772d",
    "material_removed": false
   },
   "published_at": "2026-10-22T11:29:25.000Z",
   "detected_at": "2026-10-22T11:44:17.462Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-22T11:29:25.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-22T11:29:25.000Z",
    "detected_at": "2026-10-22T11:44:17.462Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-4aa2d2157b696a8689a5c6fb",
   "url": "/evidence/?pick=n-4aa2d2157b696a8689a5c6fb",
   "quote_text": "Abu Francis is struggling with a hamstring strain",
   "fragment_from": 2149,
   "fragment_to": 2198,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/toulouse-vs-troyes-prediction-25-10-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ed0d8e932a2e161ca7be7e1134d8e03869e21c3afb4aeffb3d73ea173f20772d",
    "material_removed": false
   },
   "published_at": "2026-10-22T11:29:25.000Z",
   "detected_at": "2026-10-22T11:44:17.462Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-22T11:29:25.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-22T11:29:25.000Z",
    "detected_at": "2026-10-22T11:44:17.462Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-580028b4c8c78bcc91a1021f",
   "url": "/evidence/?pick=n-580028b4c8c78bcc91a1021f",
   "quote_text": "Julian Vignolo of Toulouse: Photo by IMAGO / Pascu Mendez",
   "fragment_from": 81,
   "fragment_to": 138,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/toulouse-vs-troyes-prediction-25-10-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ed0d8e932a2e161ca7be7e1134d8e03869e21c3afb4aeffb3d73ea173f20772d",
    "material_removed": false
   },
   "published_at": "2026-10-22T11:29:25.000Z",
   "detected_at": "2026-10-22T11:44:17.462Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-22T11:29:25.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-22T11:29:25.000Z",
    "detected_at": "2026-10-22T11:44:17.462Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-c3eec9a10bbdf2138c453e27",
   "url": "/authors/joshua-cole/picks/7/#pick-n-c3eec9a10bbdf2138c453e27",
   "quote_text": "Correct score: Toulouse 2-1 Troyes at 8.00 (7/1) | Likelihood: Low",
   "fragment_from": 4164,
   "fragment_to": 4230,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/toulouse-vs-troyes-prediction-25-10-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ed0d8e932a2e161ca7be7e1134d8e03869e21c3afb4aeffb3d73ea173f20772d",
    "material_removed": false
   },
   "published_at": "2026-10-22T11:29:25.000Z",
   "detected_at": "2026-10-22T11:44:17.462Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "not_supported",
   "cause": "",
   "cause_code": "not_supported",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-22T11:29:25.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-22T11:29:25.000Z",
    "detected_at": "2026-10-22T11:44:17.462Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-d55f1576cc7c3010c579b94f",
   "url": "/authors/joshua-cole/picks/7/#pick-n-d55f1576cc7c3010c579b94f",
   "quote_text": "Both teams to score – Yes at 1.68 (17/25) | Likelihood: Medium",
   "fragment_from": 4098,
   "fragment_to": 4160,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/toulouse-vs-troyes-prediction-25-10-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ed0d8e932a2e161ca7be7e1134d8e03869e21c3afb4aeffb3d73ea173f20772d",
    "material_removed": false
   },
   "published_at": "2026-10-22T11:29:25.000Z",
   "detected_at": "2026-10-22T11:44:17.462Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "not_supported",
   "cause": "",
   "cause_code": "not_supported",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-22T11:29:25.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-22T11:29:25.000Z",
    "detected_at": "2026-10-22T11:44:17.462Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-199838adfe7133b4cd821971",
   "url": "/authors/joshua-cole/picks/7/#pick-n-199838adfe7133b4cd821971",
   "quote_text": "Over 2.5 goals at 1.59 (59/10 | Likelihood: High",
   "fragment_from": 3992,
   "fragment_to": 4040,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/toulouse-vs-troyes-prediction-25-10-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ed0d8e932a2e161ca7be7e1134d8e03869e21c3afb4aeffb3d73ea173f20772d",
    "material_removed": false
   },
   "published_at": "2026-10-22T11:29:25.000Z",
   "detected_at": "2026-10-22T11:44:17.462Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "not_supported",
   "cause": "",
   "cause_code": "not_supported",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-22T11:29:25.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-22T11:29:25.000Z",
    "detected_at": "2026-10-22T11:44:17.462Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-46fe6c286ef7aa6b7163e0aa",
   "url": "/authors/joshua-cole/picks/7/#pick-n-46fe6c286ef7aa6b7163e0aa",
   "quote_text": "Toulouse to win at 1.62 (31/50) | Likelihood: High",
   "fragment_from": 4044,
   "fragment_to": 4094,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/toulouse-vs-troyes-prediction-25-10-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ed0d8e932a2e161ca7be7e1134d8e03869e21c3afb4aeffb3d73ea173f20772d",
    "material_removed": false
   },
   "published_at": "2026-10-22T11:29:25.000Z",
   "detected_at": "2026-10-22T11:44:17.462Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "not_supported",
   "cause": "",
   "cause_code": "not_supported",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-22T11:29:25.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-22T11:29:25.000Z",
    "detected_at": "2026-10-22T11:44:17.462Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-4c27439a9080fe39e4e3e950",
   "url": "/evidence/?pick=n-4c27439a9080fe39e4e3e950",
   "quote_text": "Karim Konate is listed as doubtful because of illness, while Nikolas Veratschnig is expected to be sidelined with a ligament injury until around mid-December.",
   "fragment_from": 3400,
   "fragment_to": 3558,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/celje-vs-rb-salzburg-prediction-22-10-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "f9db4a1330e94315170f475640c208427989982db850be8459dba45074d98ecd",
    "material_removed": false
   },
   "published_at": "2026-10-20T18:00:02.000Z",
   "detected_at": "2026-10-20T18:14:22.229Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-20T18:00:02.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-20T18:00:02.000Z",
    "detected_at": "2026-10-20T18:14:22.229Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-c0e88b02dc613c23461985a6",
   "url": "/evidence/?pick=n-c0e88b02dc613c23461985a6",
   "quote_text": "Jost Pisek is listed with a cruciate ligament injury and is expected to remain unavailable until around mid-January 2027.",
   "fragment_from": 2636,
   "fragment_to": 2757,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/celje-vs-rb-salzburg-prediction-22-10-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "f9db4a1330e94315170f475640c208427989982db850be8459dba45074d98ecd",
    "material_removed": false
   },
   "published_at": "2026-10-20T18:00:02.000Z",
   "detected_at": "2026-10-20T18:14:22.229Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-20T18:00:02.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-20T18:00:02.000Z",
    "detected_at": "2026-10-20T18:14:22.229Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-bcd79506e10d2ab044696aa7",
   "url": "/authors/joshua-cole/picks/7/#pick-n-bcd79506e10d2ab044696aa7",
   "quote_text": "Both teams to score – No at 2.13 (119/100",
   "fragment_from": 4107,
   "fragment_to": 4148,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/celje-vs-rb-salzburg-prediction-22-10-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "f9db4a1330e94315170f475640c208427989982db850be8459dba45074d98ecd",
    "material_removed": false
   },
   "published_at": "2026-10-20T18:00:02.000Z",
   "detected_at": "2026-10-20T18:14:22.229Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "not_supported",
   "cause": "",
   "cause_code": "not_supported",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-20T18:00:02.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-20T18:00:02.000Z",
    "detected_at": "2026-10-20T18:14:22.229Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-8c9db05d342b59260d889183",
   "url": "/authors/joshua-cole/picks/6/#pick-n-8c9db05d342b59260d889183",
   "quote_text": "Under 3.5 goals at 1.53 (8/15)",
   "fragment_from": 4374,
   "fragment_to": 4404,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/celje-vs-rb-salzburg-prediction-22-10-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "f9db4a1330e94315170f475640c208427989982db850be8459dba45074d98ecd",
    "material_removed": false
   },
   "published_at": "2026-10-20T18:00:02.000Z",
   "detected_at": "2026-10-20T18:14:22.229Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "not_supported",
   "cause": "",
   "cause_code": "not_supported",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-20T18:00:02.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-20T18:00:02.000Z",
    "detected_at": "2026-10-20T18:14:22.229Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-dd986f6e63f016a794f0c479",
   "url": "/authors/joshua-cole/picks/7/#pick-n-dd986f6e63f016a794f0c479",
   "quote_text": "Correct score: Celje 0-2 RB Salzburg at 10.00 (9/1)",
   "fragment_from": 4545,
   "fragment_to": 4596,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/celje-vs-rb-salzburg-prediction-22-10-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "f9db4a1330e94315170f475640c208427989982db850be8459dba45074d98ecd",
    "material_removed": false
   },
   "published_at": "2026-10-20T18:00:02.000Z",
   "detected_at": "2026-10-20T18:14:22.229Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "not_supported",
   "cause": "",
   "cause_code": "not_supported",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-20T18:00:02.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-20T18:00:02.000Z",
    "detected_at": "2026-10-20T18:14:22.229Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-3d04add933a532c5640a6122",
   "url": "/authors/joshua-cole/picks/6/#pick-n-3d04add933a532c5640a6122",
   "quote_text": "Sazburg to win at 1.77 (7/9)",
   "fragment_from": 4427,
   "fragment_to": 4455,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/celje-vs-rb-salzburg-prediction-22-10-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "f9db4a1330e94315170f475640c208427989982db850be8459dba45074d98ecd",
    "material_removed": false
   },
   "published_at": "2026-10-20T18:00:02.000Z",
   "detected_at": "2026-10-20T18:14:22.229Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "not_supported",
   "cause": "",
   "cause_code": "not_supported",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-20T18:00:02.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-20T18:00:02.000Z",
    "detected_at": "2026-10-20T18:14:22.229Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-a860ddf0bf28e39dd4b9ffb2",
   "url": "/evidence/?pick=n-a860ddf0bf28e39dd4b9ffb2",
   "quote_text": "Lucas Ventura nursing a hamstring problem, while Dan Biton has been dealing with a heart problem",
   "fragment_from": 3469,
   "fragment_to": 3565,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/union-saint-gilloise-vs-hapoel-beer-sheva-prediction-22-10-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ef07b67ccc95177ed9ba10059ce4ed027dcdc7e6f2acf07bf5dfa647599c981c",
    "material_removed": false
   },
   "published_at": "2026-10-20T18:00:06.000Z",
   "detected_at": "2026-10-20T18:14:21.650Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-20T18:00:06.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-20T18:00:06.000Z",
    "detected_at": "2026-10-20T18:14:21.650Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-e4c113f43c649ec40abded8a",
   "url": "/evidence/?pick=n-e4c113f43c649ec40abded8a",
   "quote_text": "Ross Sykes listed with a shoulder injury, while Adem Zorgane and Ilan Hurtevent have also been reported as injury concerns",
   "fragment_from": 2564,
   "fragment_to": 2686,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/union-saint-gilloise-vs-hapoel-beer-sheva-prediction-22-10-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ef07b67ccc95177ed9ba10059ce4ed027dcdc7e6f2acf07bf5dfa647599c981c",
    "material_removed": false
   },
   "published_at": "2026-10-20T18:00:06.000Z",
   "detected_at": "2026-10-20T18:14:21.650Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-20T18:00:06.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-20T18:00:06.000Z",
    "detected_at": "2026-10-20T18:14:21.650Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-63d1f1a5fe210cca9dd09f0c",
   "url": "/evidence/?pick=n-63d1f1a5fe210cca9dd09f0c",
   "quote_text": "The game will be played at a neutral venue in Germany due to issues surrounding public safety",
   "fragment_from": 967,
   "fragment_to": 1060,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/union-saint-gilloise-vs-hapoel-beer-sheva-prediction-22-10-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ef07b67ccc95177ed9ba10059ce4ed027dcdc7e6f2acf07bf5dfa647599c981c",
    "material_removed": false
   },
   "published_at": "2026-10-20T18:00:06.000Z",
   "detected_at": "2026-10-20T18:14:21.650Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-20T18:00:06.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-20T18:00:06.000Z",
    "detected_at": "2026-10-20T18:14:21.650Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-ec543606fb588a08efba67c7",
   "url": "/authors/joshua-cole/picks/6/#pick-n-ec543606fb588a08efba67c7",
   "quote_text": "> Correct score: Union Saint-Gilloise 2-0 Hapoel Be'er Sheva at 7.00 (6/1) | Likelihood: Low",
   "fragment_from": 4781,
   "fragment_to": 4873,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/union-saint-gilloise-vs-hapoel-beer-sheva-prediction-22-10-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ef07b67ccc95177ed9ba10059ce4ed027dcdc7e6f2acf07bf5dfa647599c981c",
    "material_removed": false
   },
   "published_at": "2026-10-20T18:00:06.000Z",
   "detected_at": "2026-10-20T18:14:21.650Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "not_checked",
   "event": {
    "event_id": "s-45db402e3921",
    "display_name": "Union St. Gilloise — Hapoel Be'er Sheva",
    "competition_name": "UEFA Europa League",
    "starts_at": "2026-10-22T16:45:00.000Z",
    "url": "/football/matches/union-st-gilloise-vs-hapoel-be-er-sheva-2026-10-22/",
    "scoreline": "4-0",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Union St. Gilloise 2-0 Hapoel Be'er Sheva",
   "odds_set": {
    "by_author": "7",
    "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-20T18:00:06.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-20T18:00:06.000Z",
    "detected_at": "2026-10-20T18:14:21.650Z",
    "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": "Union St. Gilloise 2-0 Hapoel Be'er Sheva",
    "author_odds": "7",
    "market_key": "correct_score_market",
    "choice_key": "2-0",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Union St. Gilloise 2-0 Hapoel Be'er Sheva at 7"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "4-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Union St. Gilloise 4-0 Hapoel Be'er Sheva."
   },
   "settlements": [
    {
     "operation_id": "7fe13a159d460751271442ccd6b5bdec3ec034b903249ee27938bf61dc308a34",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Correct score",
     "choice": "Union St. Gilloise 2-0 Hapoel Be'er Sheva",
     "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": "a302f28cb3147c9955fb6136f2ac21a36c509e3f207d2948cf919b2fcfba08f5",
     "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": "Union St. Gilloise",
     "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/union-saint-gilloise-vs-hapoel-beer-sheva-prediction-22-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-757387667f060d1217ddaec1",
   "url": "/authors/joshua-cole/picks/6/#pick-n-757387667f060d1217ddaec1",
   "quote_text": "> Both teams to score – Yes at 1.73 (8/11) | Likelihood: Medium",
   "fragment_from": 4716,
   "fragment_to": 4779,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/union-saint-gilloise-vs-hapoel-beer-sheva-prediction-22-10-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ef07b67ccc95177ed9ba10059ce4ed027dcdc7e6f2acf07bf5dfa647599c981c",
    "material_removed": false
   },
   "published_at": "2026-10-20T18:00:06.000Z",
   "detected_at": "2026-10-20T18:14:21.650Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "recognised",
   "cause": "",
   "cause_code": "disputed_reading",
   "event": {
    "event_id": "s-45db402e3921",
    "display_name": "Union St. Gilloise — Hapoel Be'er Sheva",
    "competition_name": "UEFA Europa League",
    "starts_at": "2026-10-22T16:45:00.000Z",
    "url": "/football/matches/union-st-gilloise-vs-hapoel-be-er-sheva-2026-10-22/",
    "scoreline": "4-0",
    "condition": "finished"
   },
   "market_label": "Both teams to score",
   "outcome_label": "yes",
   "odds_set": {
    "by_author": "1.73",
    "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-20T18:00:06.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-20T18:00:06.000Z",
    "detected_at": "2026-10-20T18:14:21.650Z",
    "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.73",
    "market_key": "both_teams_score",
    "choice_key": "yes",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Both teams to score: yes at 1.73"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "4-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was Union St. Gilloise 4-0 Hapoel Be'er Sheva."
   },
   "settlements": [
    {
     "operation_id": "5cccbbb71b122fe22f89b9cf1e2ac3550239c854d4f5b47a23c1ac7ce2e77673",
     "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": 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": "0df3909d5990b72f92b273f465176610ffdad2bd3d64de880268484a43f09bdb",
     "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": null,
     "odds_role": null,
     "stake_hundredths": null,
     "status": "skipped",
     "status_text": "Not executed: ",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": null,
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Joshua Cole",
    "publisher": "Football Whispers",
    "forecaster": "Joshua Cole",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/union-saint-gilloise-vs-hapoel-beer-sheva-prediction-22-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-bd81ad8380ba3e785b6ef1cc",
   "url": "/authors/joshua-cole/picks/6/#pick-n-bd81ad8380ba3e785b6ef1cc",
   "quote_text": "> Over 2.5 goals at 1.65 (13/20) | Likelihood: Medium",
   "fragment_from": 4661,
   "fragment_to": 4714,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/union-saint-gilloise-vs-hapoel-beer-sheva-prediction-22-10-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ef07b67ccc95177ed9ba10059ce4ed027dcdc7e6f2acf07bf5dfa647599c981c",
    "material_removed": false
   },
   "published_at": "2026-10-20T18:00:06.000Z",
   "detected_at": "2026-10-20T18:14:21.650Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "recognised",
   "cause": "",
   "cause_code": "disputed_reading",
   "event": {
    "event_id": "s-45db402e3921",
    "display_name": "Union St. Gilloise — Hapoel Be'er Sheva",
    "competition_name": "UEFA Europa League",
    "starts_at": "2026-10-22T16:45:00.000Z",
    "url": "/football/matches/union-st-gilloise-vs-hapoel-be-er-sheva-2026-10-22/",
    "scoreline": "4-0",
    "condition": "finished"
   },
   "market_label": "Over/Under 2.5 goals",
   "outcome_label": "over 2.5",
   "odds_set": {
    "by_author": "1.65",
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "win",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-20T18:00:06.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-20T18:00:06.000Z",
    "detected_at": "2026-10-20T18:14:21.650Z",
    "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.65",
    "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.65"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "4-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won: the final score was Union St. Gilloise 4-0 Hapoel Be'er Sheva."
   },
   "settlements": [
    {
     "operation_id": "5b67b5ef03c35d9143144736e7f133584d281e51ceeea49b4423f46d589b30d3",
     "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": 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": "038da9a2dab8d584be25dfd1a656d5482d32844f9d13d6827dd89ace5498c033",
     "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": null,
     "odds_role": null,
     "stake_hundredths": null,
     "status": "skipped",
     "status_text": "Not executed: ",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": null,
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Joshua Cole",
    "publisher": "Football Whispers",
    "forecaster": "Joshua Cole",
    "forecaster_named_in_text": false,
    "basis": null,
    "status": "not_named",
    "status_words": "Attributed by the byline",
    "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
    "evidence_fragment": null,
    "material_url": "https://footballwhispers.com/blog/union-saint-gilloise-vs-hapoel-beer-sheva-prediction-22-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-4a86fbaf44ab7aa26c1a23da",
   "url": "/authors/joshua-cole/picks/6/#pick-n-4a86fbaf44ab7aa26c1a23da",
   "quote_text": "> Union Saint-Gilloise to win at 1.54 (6/11) | Likelihood: High",
   "fragment_from": 4596,
   "fragment_to": 4659,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/union-saint-gilloise-vs-hapoel-beer-sheva-prediction-22-10-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ef07b67ccc95177ed9ba10059ce4ed027dcdc7e6f2acf07bf5dfa647599c981c",
    "material_removed": false
   },
   "published_at": "2026-10-20T18:00:06.000Z",
   "detected_at": "2026-10-20T18:14:21.650Z",
   "executed_at": "2026-10-22T00:45:13.879Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-45db402e3921",
    "display_name": "Union St. Gilloise — Hapoel Be'er Sheva",
    "competition_name": "UEFA Europa League",
    "starts_at": "2026-10-22T16:45:00.000Z",
    "url": "/football/matches/union-st-gilloise-vs-hapoel-be-er-sheva-2026-10-22/",
    "scoreline": "4-0",
    "condition": "finished"
   },
   "market_label": "1X2, match result",
   "outcome_label": "Union St. Gilloise",
   "odds_set": {
    "by_author": "1.54",
    "our_snapshot": "1.3003",
    "our_snapshot_at": "2026-10-20T18:12:49.975Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 3003,
   "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-20T18:00:06.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-20T18:00:06.000Z",
    "detected_at": "2026-10-20T18:14:21.650Z",
    "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": "Union St. Gilloise",
    "author_odds": "1.54",
    "market_key": "1x2",
    "choice_key": "1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: Union St. Gilloise at 1.54"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "4-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won: the final score was Union St. Gilloise 4-0 Hapoel Be'er Sheva."
   },
   "settlements": [
    {
     "operation_id": "2cc6c4b840ca4f0349c9278497773b20aeda763145f7f239cbc3af7f1e2108b7",
     "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": "Union St. Gilloise",
     "decimal_odds": "1.54",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 5400,
     "executed_at": "2026-10-22T00:45:11.985Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "faafc02fe406943865d922a21bbd1fd308478c5a7566e1f97b9e59d71d1f708d",
     "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": "Union St. Gilloise",
     "decimal_odds": "1.3003",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 3003,
     "executed_at": "2026-10-22T00:45:13.879Z",
     "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/union-saint-gilloise-vs-hapoel-beer-sheva-prediction-22-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-19c65e1c26bff0287367cac3",
   "url": "/evidence/?pick=n-19c65e1c26bff0287367cac3",
   "quote_text": "Ilias Koutsoupias not included in their Europa League squad",
   "fragment_from": 3071,
   "fragment_to": 3130,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/jagiellonia-bialystok-vs-anderlecht-prediction-22-10-2026/",
    "display_name": null,
    "speaker": "Joshua Cole",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "045938441c5ba5d74eebc631f522cba4d6506611c3006903c16d5d189659c0c6",
    "material_removed": false
   },
   "published_at": "2026-10-20T18:00:09.000Z",
   "detected_at": "2026-10-20T18:14:21.089Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-20T18:00:09.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-20T18:00:09.000Z",
    "detected_at": "2026-10-20T18:14:21.089Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  }
 ],
 "excluded_from_feed": {
  "ads": 1,
  "service": 0,
  "ruleset_version": "3"
 },
 "standing": {
  "titles": [
   {
    "code_name": "P-09",
    "display_name": "Süper Lig, week of 19 Oct 2026: 3/3 result calls right, first of 5 tipsters…",
    "received_at": "2026-11-07T19:52:23.438Z",
    "window_kind": "event",
    "cause": null,
    "type_code": null,
    "bucket_code": "all",
    "bucket": "Competition week leader",
    "measure": null,
    "place": null,
    "out_of": null,
    "n_bets": 3,
    "n_events": null,
    "amount": null,
    "ci_low": null,
    "ci_high": null,
    "ci_level": null,
    "fact": "Süper Lig, week of 19 Oct 2026: 3/3 result calls right, first of 5 tipsters and sources with 3+ calls",
    "rationale": "In Süper Lig, week 19 Oct 2026–25 Oct 2026 (Monday to Sunday, UTC): 3 of 3 result calls right, the highest share among 5 tipsters and sources with at least 3 result calls in that competition that week; the others: 4/6, 3/4, 2/4, 2/3. Data: live record. Term: a dated fact.",
    "provenance": "live",
    "rules_version": "catalog-1",
    "methodology_version": "catalog-1",
    "data_date": "2026-11-07T19:52:23.438Z",
    "valid_until": null,
    "anchor_id": "standing-p-09-all-event",
    "alt": "Joshua Cole · Süper Lig, week of 19 Oct 2026: 3/3 result calls right, first of 5 tipsters and sources with 3+ calls · Tracked by Forecast Record",
    "csv_url": null,
    "embed": "<a href=\"https://forecastrecord.com/authors/joshua-cole/#title-competition-week-leader\" rel=\"nofollow\"><img src=\"https://forecastrecord.com/b/e-47aa46371e213875f5de5053/p-09-all-event-m-light.svg\" alt=\"Joshua Cole · Süper Lig, week of 19 Oct 2026: 3/3 result calls right, first of 5 tipsters and sources with 3+ calls · Tracked by Forecast Record\" width=\"1184\" height=\"28\" loading=\"lazy\"></a>",
    "neighbours": [],
    "window_words": "On show until 22 Feb 2027",
    "measure_words": null,
    "amount_words": null,
    "interval_words": null,
    "title_tier": "dated_record",
    "status": "active",
    "status_reason": null,
    "event_at": "2026-10-25",
    "evidence_through": "2026-10-25",
    "earned_at": "2026-10-25",
    "published_at": "2026-10-26",
    "visible_until": "2027-02-22",
    "badge_label": "Süper Lig · 3/3 · 19 Oct",
    "scope_words": "Süper Lig",
    "title_id": "zk-1f2df03495edde3b9407",
    "evidence_items": [
     {
      "nid": "n-d76c723288e3aa94c8082962",
      "data": "2026-10-24",
      "match": "Eyüpspor v Kasımpaşa",
      "said_text": "Correct score: Eyüpspor 1-2 Kasımpaşa",
      "outcome_label": "score wrong · result right",
      "evidence_price": 1.67,
      "comparison": "5 other tipsters and sources on this match, 5 right (5 named away win)",
      "url": "/authors/joshua-cole/picks/7/#pick-n-d76c723288e3aa94c8082962"
     },
     {
      "nid": "n-42e1b7f86e5b3edde3cffcf9",
      "data": "2026-10-24",
      "match": "Samsunspor v Amed SK",
      "said_text": "Correct score: Samsunspor 1-2 Amed SK",
      "outcome_label": "score right · result right",
      "evidence_price": null,
      "comparison": "2 other tipsters and sources on this match, 1 right (1 named away win, 1 named home win)",
      "url": "/authors/joshua-cole/picks/7/#pick-n-42e1b7f86e5b3edde3cffcf9"
     },
     {
      "nid": "n-6a721f7dd33c37947a446d05",
      "data": "2026-10-25",
      "match": "Konyaspor v Gençlerbirliği",
      "said_text": "Correct score: Konyaspor 1-0 Gençlerbirliği",
      "outcome_label": "score wrong · result right",
      "evidence_price": 1.8,
      "comparison": "5 other tipsters and sources on this match, 5 right (5 named home win)",
      "url": "/authors/joshua-cole/picks/7/#pick-n-6a721f7dd33c37947a446d05"
     }
    ],
    "evidence_total": 3,
    "badge": {
     "variants": [
      {
       "size": "l",
       "theme": "light",
       "width": 1609,
       "height": 40,
       "url": "/b/e-47aa46371e213875f5de5053/p-09-all-event-l-light.svg"
      },
      {
       "size": "l",
       "theme": "dark",
       "width": 1609,
       "height": 40,
       "url": "/b/e-47aa46371e213875f5de5053/p-09-all-event-l-dark.svg"
      },
      {
       "size": "m",
       "theme": "light",
       "width": 1184,
       "height": 28,
       "url": "/b/e-47aa46371e213875f5de5053/p-09-all-event-m-light.svg"
      },
      {
       "size": "m",
       "theme": "dark",
       "width": 1184,
       "height": 28,
       "url": "/b/e-47aa46371e213875f5de5053/p-09-all-event-m-dark.svg"
      },
      {
       "size": "s",
       "theme": "light",
       "width": 926,
       "height": 20,
       "url": "/b/e-47aa46371e213875f5de5053/p-09-all-event-s-light.svg"
      },
      {
       "size": "s",
       "theme": "dark",
       "width": 926,
       "height": 20,
       "url": "/b/e-47aa46371e213875f5de5053/p-09-all-event-s-dark.svg"
      }
     ],
     "card_url": "/b/e-47aa46371e213875f5de5053/p-09-all-event-card.svg"
    },
    "profile_anchor": "title-1f2df03495ed",
    "chance": null,
    "embed_anchor": "title-competition-week-leader"
   },
   {
    "code_name": "CS-10",
    "display_name": "Exact score 1–1 · Monaco v Lille · 25 Oct 2026",
    "received_at": "2026-11-07T19:52:23.438Z",
    "window_kind": "event",
    "cause": null,
    "type_code": null,
    "bucket_code": "all",
    "bucket": "Exact score called",
    "measure": null,
    "place": null,
    "out_of": null,
    "n_bets": 1,
    "n_events": null,
    "amount": null,
    "ci_low": null,
    "ci_high": null,
    "ci_level": null,
    "fact": "Exact score 1–1 · Monaco v Lille · 25 Oct 2026",
    "rationale": "Correct score 1–1 called before the match; 4 other tipsters and sources named an exact score on this match, 2 right. Data: live record. Term: a dated fact.",
    "provenance": "live",
    "rules_version": "catalog-1",
    "methodology_version": "catalog-1",
    "data_date": "2026-11-07T19:52:23.438Z",
    "valid_until": null,
    "anchor_id": "standing-cs-10-all-event",
    "alt": "Joshua Cole · Exact score 1–1 · Monaco v Lille · 25 Oct 2026 · Tracked by Forecast Record",
    "csv_url": null,
    "embed": "<a href=\"https://forecastrecord.com/authors/joshua-cole/#title-exact-score-called\" rel=\"nofollow\"><img src=\"https://forecastrecord.com/b/e-47aa46371e213875f5de5053/cs-10-all-event-m-light.svg\" alt=\"Joshua Cole · Exact score 1–1 · Monaco v Lille · 25 Oct 2026 · Tracked by Forecast Record\" width=\"738\" height=\"28\" loading=\"lazy\"></a>",
    "neighbours": [],
    "window_words": "On show until 23 Jan 2027",
    "measure_words": null,
    "amount_words": null,
    "interval_words": null,
    "title_tier": "dated_record",
    "status": "active",
    "status_reason": null,
    "event_at": "2026-10-25",
    "evidence_through": "2026-10-25",
    "earned_at": "2026-10-25",
    "published_at": "2026-10-26",
    "visible_until": "2027-01-23",
    "badge_label": "Exact score 1–1 · 25 Oct",
    "scope_words": null,
    "title_id": "zk-699b99ebf74c10672f90",
    "evidence_items": [
     {
      "nid": "n-5911ffdfb9bdc46a194ce02b",
      "data": "2026-10-25",
      "match": "Monaco v Lille",
      "said_text": "Correct score: Monaco 1-1 Lille",
      "outcome_label": "score right · result right",
      "evidence_price": null,
      "comparison": "4 other tipsters and sources named an exact score on this match, 2 right",
      "url": "/authors/joshua-cole/picks/7/#pick-n-5911ffdfb9bdc46a194ce02b"
     }
    ],
    "evidence_total": 1,
    "badge": {
     "variants": [
      {
       "size": "l",
       "theme": "light",
       "width": 1003,
       "height": 40,
       "url": "/b/e-47aa46371e213875f5de5053/cs-10-all-event-l-light.svg"
      },
      {
       "size": "l",
       "theme": "dark",
       "width": 1003,
       "height": 40,
       "url": "/b/e-47aa46371e213875f5de5053/cs-10-all-event-l-dark.svg"
      },
      {
       "size": "m",
       "theme": "light",
       "width": 738,
       "height": 28,
       "url": "/b/e-47aa46371e213875f5de5053/cs-10-all-event-m-light.svg"
      },
      {
       "size": "m",
       "theme": "dark",
       "width": 738,
       "height": 28,
       "url": "/b/e-47aa46371e213875f5de5053/cs-10-all-event-m-dark.svg"
      },
      {
       "size": "s",
       "theme": "light",
       "width": 575,
       "height": 20,
       "url": "/b/e-47aa46371e213875f5de5053/cs-10-all-event-s-light.svg"
      },
      {
       "size": "s",
       "theme": "dark",
       "width": 575,
       "height": 20,
       "url": "/b/e-47aa46371e213875f5de5053/cs-10-all-event-s-dark.svg"
      }
     ],
     "card_url": "/b/e-47aa46371e213875f5de5053/cs-10-all-event-card.svg"
    },
    "profile_anchor": "title-699b99ebf74c",
    "chance": {
     "contract_version": 1,
     "kind": "single",
     "priced": 0,
     "unpriced": 1,
     "probability": null,
     "one_in": null,
     "words": "No recorded prices for these picks, so the chance cannot be measured."
    },
    "embed_anchor": "title-exact-score-called"
   },
   {
    "code_name": "CS-10",
    "display_name": "Exact score 1–2 · Samsunspor v Amed SK · 24 Oct 2026",
    "received_at": "2026-11-07T19:52:23.438Z",
    "window_kind": "event",
    "cause": null,
    "type_code": null,
    "bucket_code": "z-4d158c4aac",
    "bucket": "Exact score called",
    "measure": null,
    "place": null,
    "out_of": null,
    "n_bets": 1,
    "n_events": null,
    "amount": null,
    "ci_low": null,
    "ci_high": null,
    "ci_level": null,
    "fact": "Exact score 1–2 · Samsunspor v Amed SK · 24 Oct 2026",
    "rationale": "Correct score 1–2 called before the match. Data: live record. Term: a dated fact.",
    "provenance": "live",
    "rules_version": "catalog-1",
    "methodology_version": "catalog-1",
    "data_date": "2026-11-07T19:52:23.438Z",
    "valid_until": null,
    "anchor_id": "standing-cs-10-z-4d158c4aac-event",
    "alt": "Joshua Cole · Exact score 1–2 · Samsunspor v Amed SK · 24 Oct 2026 · Tracked by Forecast Record",
    "csv_url": null,
    "embed": "<a href=\"https://forecastrecord.com/authors/joshua-cole/#title-exact-score-called-exact-score-called\" rel=\"nofollow\"><img src=\"https://forecastrecord.com/b/e-47aa46371e213875f5de5053/cs-10-z-4d158c4aac-event-m-light.svg\" alt=\"Joshua Cole · Exact score 1–2 · Samsunspor v Amed SK · 24 Oct 2026 · Tracked by Forecast Record\" width=\"786\" height=\"28\" loading=\"lazy\"></a>",
    "neighbours": [],
    "window_words": "On show until 22 Jan 2027",
    "measure_words": null,
    "amount_words": null,
    "interval_words": null,
    "title_tier": "dated_record",
    "status": "active",
    "status_reason": null,
    "event_at": "2026-10-24",
    "evidence_through": "2026-10-24",
    "earned_at": "2026-10-24",
    "published_at": "2026-10-25",
    "visible_until": "2027-01-22",
    "badge_label": "Exact score 1–2 · 24 Oct",
    "scope_words": null,
    "title_id": "zk-4d158c4aac1eb36a6d5b",
    "evidence_items": [
     {
      "nid": "n-42e1b7f86e5b3edde3cffcf9",
      "data": "2026-10-24",
      "match": "Samsunspor v Amed SK",
      "said_text": "Correct score: Samsunspor 1-2 Amed SK",
      "outcome_label": "score right · result right",
      "evidence_price": null,
      "comparison": null,
      "url": "/authors/joshua-cole/picks/7/#pick-n-42e1b7f86e5b3edde3cffcf9"
     }
    ],
    "evidence_total": 1,
    "badge": {
     "variants": [
      {
       "size": "l",
       "theme": "light",
       "width": 1069,
       "height": 40,
       "url": "/b/e-47aa46371e213875f5de5053/cs-10-z-4d158c4aac-event-l-light.svg"
      },
      {
       "size": "l",
       "theme": "dark",
       "width": 1069,
       "height": 40,
       "url": "/b/e-47aa46371e213875f5de5053/cs-10-z-4d158c4aac-event-l-dark.svg"
      },
      {
       "size": "m",
       "theme": "light",
       "width": 786,
       "height": 28,
       "url": "/b/e-47aa46371e213875f5de5053/cs-10-z-4d158c4aac-event-m-light.svg"
      },
      {
       "size": "m",
       "theme": "dark",
       "width": 786,
       "height": 28,
       "url": "/b/e-47aa46371e213875f5de5053/cs-10-z-4d158c4aac-event-m-dark.svg"
      },
      {
       "size": "s",
       "theme": "light",
       "width": 614,
       "height": 20,
       "url": "/b/e-47aa46371e213875f5de5053/cs-10-z-4d158c4aac-event-s-light.svg"
      },
      {
       "size": "s",
       "theme": "dark",
       "width": 614,
       "height": 20,
       "url": "/b/e-47aa46371e213875f5de5053/cs-10-z-4d158c4aac-event-s-dark.svg"
      }
     ],
     "card_url": "/b/e-47aa46371e213875f5de5053/cs-10-z-4d158c4aac-event-card.svg"
    },
    "profile_anchor": "title-4d158c4aac1e",
    "chance": {
     "contract_version": 1,
     "kind": "single",
     "priced": 0,
     "unpriced": 1,
     "probability": null,
     "one_in": null,
     "words": "No recorded prices for these picks, so the chance cannot be measured."
    },
    "embed_anchor": "title-exact-score-called-exact-score-called"
   },
   {
    "code_name": "P-02",
    "display_name": "No.1 of 11 · 9/11 result calls right · week of 12 Oct 2026",
    "received_at": "2026-11-07T19:52:23.438Z",
    "window_kind": "event",
    "cause": null,
    "type_code": null,
    "bucket_code": "w-12229464e2",
    "bucket": "No.1 of the week",
    "measure": null,
    "place": null,
    "out_of": 11,
    "n_bets": 11,
    "n_events": null,
    "amount": null,
    "ci_low": null,
    "ci_high": null,
    "ci_level": null,
    "fact": "No.1 of 11 · 9/11 result calls right · week of 12 Oct 2026",
    "rationale": "9 of 11 result calls right in the week 12 Oct 2026–18 Oct 2026 (Monday to Sunday, UTC), one call per match. On 10 of these matches the other tipsters and sources were right 80.6% of the time. First of 11 tipsters and sources with 10+ result calls that week. Data: live record. Term: a dated fact.",
    "provenance": "live",
    "rules_version": "catalog-1",
    "methodology_version": "catalog-1",
    "data_date": "2026-11-07T19:52:23.438Z",
    "valid_until": null,
    "anchor_id": "standing-p-02-w-12229464e2-event",
    "alt": "Joshua Cole · No.1 of 11 · 9/11 result calls right · week of 12 Oct 2026 · Tracked by Forecast Record",
    "csv_url": null,
    "embed": "<a href=\"https://forecastrecord.com/authors/joshua-cole/#title-no-1-of-the-week\" rel=\"nofollow\"><img src=\"https://forecastrecord.com/b/e-47aa46371e213875f5de5053/p-02-w-12229464e2-event-m-light.svg\" alt=\"Joshua Cole · No.1 of 11 · 9/11 result calls right · week of 12 Oct 2026 · Tracked by Forecast Record\" width=\"835\" height=\"28\" loading=\"lazy\"></a>",
    "neighbours": [],
    "window_words": "On show until 15 Feb 2027",
    "measure_words": null,
    "amount_words": null,
    "interval_words": null,
    "title_tier": "dated_record",
    "status": "active",
    "status_reason": null,
    "event_at": "2026-10-18",
    "evidence_through": "2026-10-18",
    "earned_at": "2026-10-18",
    "published_at": "2026-11-06",
    "visible_until": "2027-02-15",
    "badge_label": "No.1 · week of 12 Oct",
    "scope_words": null,
    "title_id": "zk-12229464e25b26694d54",
    "evidence_items": [
     {
      "nid": "n-1762b32bc3f7d7ff5c65bea1",
      "data": "2026-10-12",
      "match": "Eyüpspor v Göztepe",
      "said_text": "1X2, match result: Göztepe",
      "outcome_label": "right",
      "evidence_price": 1.85,
      "comparison": "6 other tipsters and sources on this match, 6 right (6 named away win)",
      "url": "/authors/joshua-cole/picks/4/#pick-n-1762b32bc3f7d7ff5c65bea1"
     },
     {
      "nid": "n-47435ebdd2203b1578d3996b",
      "data": "2026-10-14",
      "match": "Aston Villa v Fenerbahçe",
      "said_text": "1X2, match result: Aston Villa at 1.73",
      "outcome_label": "right",
      "evidence_price": 1.67,
      "comparison": "11 other tipsters and sources on this match, 9 right (9 named home win, 1 named draw, 1 named away win)",
      "url": "/authors/joshua-cole/picks/5/#pick-n-47435ebdd2203b1578d3996b"
     },
     {
      "nid": "n-aaca6dd60e49ce781fc5f555",
      "data": "2026-10-15",
      "match": "Fluminense v Palmeiras",
      "said_text": "Correct score: Fluminense 1-0 Palmeiras",
      "outcome_label": "score wrong · result wrong",
      "evidence_price": null,
      "comparison": null,
      "url": "/authors/joshua-cole/picks/5/#pick-n-aaca6dd60e49ce781fc5f555"
     },
     {
      "nid": "n-940c1b5f6f131e8afef5867f",
      "data": "2026-10-15",
      "match": "Kuopion Palloseura v Trabzonspor",
      "said_text": "Correct score: Kuopion Palloseura 0-2 Trabzonspor",
      "outcome_label": "score wrong · result right",
      "evidence_price": 1.48,
      "comparison": "7 other tipsters and sources on this match, 7 right (7 named away win)",
      "url": "/authors/joshua-cole/picks/5/#pick-n-940c1b5f6f131e8afef5867f"
     },
     {
      "nid": "n-d6e3b03ae4e51476a76108eb",
      "data": "2026-10-15",
      "match": "Dinamo Zagreb v Anderlecht",
      "said_text": "Correct score: Dinamo Zagreb 2-1 Anderlecht",
      "outcome_label": "score wrong · result right",
      "evidence_price": 2.0,
      "comparison": "6 other tipsters and sources on this match, 4 right (4 named home win, 1 named draw, 1 named away win)",
      "url": "/authors/joshua-cole/picks/5/#pick-n-d6e3b03ae4e51476a76108eb"
     },
     {
      "nid": "n-27d6448c203e7a2316b5217a",
      "data": "2026-10-17",
      "match": "Amed SK v Konyaspor",
      "said_text": "Correct score: Amed SK 2-0 Konyaspor",
      "outcome_label": "score wrong · result right",
      "evidence_price": null,
      "comparison": "4 other tipsters and sources on this match, 4 right (4 named home win)",
      "url": "/authors/joshua-cole/picks/5/#pick-n-27d6448c203e7a2316b5217a"
     },
     {
      "nid": "n-1a6fe3c0fe199d35c232424a",
      "data": "2026-10-17",
      "match": "Gençlerbirliği v Galatasaray",
      "said_text": "Correct score: Gençlerbirliği 1-3 Galatasaray",
      "outcome_label": "score wrong · result right",
      "evidence_price": null,
      "comparison": "7 other tipsters and sources on this match, 7 right (7 named away win)",
      "url": "/authors/joshua-cole/picks/5/#pick-n-1a6fe3c0fe199d35c232424a"
     },
     {
      "nid": "n-03c594a266e49295e20ffc2c",
      "data": "2026-10-17",
      "match": "Fenerbahçe v Alanyaspor",
      "said_text": "Correct score: Fenerbahçe 2-0 Alanyaspor",
      "outcome_label": "score wrong · result right",
      "evidence_price": null,
      "comparison": "6 other tipsters and sources on this match, 6 right (6 named home win)",
      "url": "/authors/joshua-cole/picks/5/#pick-n-03c594a266e49295e20ffc2c"
     },
     {
      "nid": "n-939fafbe7a8b084a9eb904b4",
      "data": "2026-10-18",
      "match": "Kasımpaşa v Samsunspor",
      "said_text": "Correct score: Kasımpaşa 1-0 Samsunspor",
      "outcome_label": "score wrong · result right",
      "evidence_price": null,
      "comparison": "3 other tipsters and sources on this match, 1 right (2 named draw, 1 named home win)",
      "url": "/authors/joshua-cole/picks/5/#pick-n-939fafbe7a8b084a9eb904b4"
     },
     {
      "nid": "n-4ab27cad47699d6e7a04fca3",
      "data": "2026-10-18",
      "match": "Kocaelispor v Göztepe",
      "said_text": "Correct score: Kocaelispor 1-1 Göztepe",
      "outcome_label": "score wrong · result wrong",
      "evidence_price": null,
      "comparison": "5 other tipsters and sources on this match, 2 right (2 named away win, 2 named home win, 1 named draw)",
      "url": "/authors/joshua-cole/picks/5/#pick-n-4ab27cad47699d6e7a04fca3"
     },
     {
      "nid": "n-66c0b8e5b6ca964e0c046cec",
      "data": "2026-10-18",
      "match": "Angers v Olympique de Marseille",
      "said_text": "1X2, match result: Olympique de Marseille at 2",
      "outcome_label": "right",
      "evidence_price": null,
      "comparison": "13 other tipsters and sources on this match, 11 right (11 named away win, 2 named draw)",
      "url": "/authors/joshua-cole/picks/5/#pick-n-66c0b8e5b6ca964e0c046cec"
     }
    ],
    "evidence_total": 11,
    "badge": {
     "variants": [
      {
       "size": "l",
       "theme": "light",
       "width": 1135,
       "height": 40,
       "url": "/b/e-47aa46371e213875f5de5053/p-02-w-12229464e2-event-l-light.svg"
      },
      {
       "size": "l",
       "theme": "dark",
       "width": 1135,
       "height": 40,
       "url": "/b/e-47aa46371e213875f5de5053/p-02-w-12229464e2-event-l-dark.svg"
      },
      {
       "size": "m",
       "theme": "light",
       "width": 835,
       "height": 28,
       "url": "/b/e-47aa46371e213875f5de5053/p-02-w-12229464e2-event-m-light.svg"
      },
      {
       "size": "m",
       "theme": "dark",
       "width": 835,
       "height": 28,
       "url": "/b/e-47aa46371e213875f5de5053/p-02-w-12229464e2-event-m-dark.svg"
      },
      {
       "size": "s",
       "theme": "light",
       "width": 652,
       "height": 20,
       "url": "/b/e-47aa46371e213875f5de5053/p-02-w-12229464e2-event-s-light.svg"
      },
      {
       "size": "s",
       "theme": "dark",
       "width": 652,
       "height": 20,
       "url": "/b/e-47aa46371e213875f5de5053/p-02-w-12229464e2-event-s-dark.svg"
      }
     ],
     "card_url": "/b/e-47aa46371e213875f5de5053/p-02-w-12229464e2-event-card.svg"
    },
    "profile_anchor": "title-12229464e25b",
    "chance": {
     "contract_version": 1,
     "kind": "at_least",
     "priced": 2,
     "unpriced": 9,
     "hits": 2,
     "probability": 0.291481,
     "one_in": 3,
     "log10": -0.54,
     "words": "1 in 3",
     "rule": "probability of at least this many correct picks if each pick came in with its market probability (1/price); exact Poisson-binomial",
     "note": "market prices include the bookmaker margin, so the chance is slightly overstated — a cautious figure"
    },
    "embed_anchor": "title-no-1-of-the-week"
   },
   {
    "code_name": "P-09",
    "display_name": "Süper Lig, week of 5 Oct 2026: 4/5 result calls right, first of 3 tipsters and…",
    "received_at": "2026-11-07T19:52:23.438Z",
    "window_kind": "event",
    "cause": null,
    "type_code": null,
    "bucket_code": "z-8db4fd7aa0",
    "bucket": "Competition week leader",
    "measure": null,
    "place": null,
    "out_of": null,
    "n_bets": 5,
    "n_events": null,
    "amount": null,
    "ci_low": null,
    "ci_high": null,
    "ci_level": null,
    "fact": "Süper Lig, week of 5 Oct 2026: 4/5 result calls right, first of 3 tipsters and sources with 3+ calls",
    "rationale": "In Süper Lig, week 5 Oct 2026–11 Oct 2026 (Monday to Sunday, UTC): 4 of 5 result calls right, the highest share among 3 tipsters and sources with at least 3 result calls in that competition that week; the others: 2/3, 2/3. Data: live record. Term: a dated fact.",
    "provenance": "live",
    "rules_version": "catalog-1",
    "methodology_version": "catalog-1",
    "data_date": "2026-11-07T19:52:23.438Z",
    "valid_until": null,
    "anchor_id": "standing-p-09-z-8db4fd7aa0-event",
    "alt": "Joshua Cole · Süper Lig, week of 5 Oct 2026: 4/5 result calls right, first of 3 tipsters and sources with 3+ calls · Tracked by Forecast Record",
    "csv_url": null,
    "embed": "<a href=\"https://forecastrecord.com/authors/joshua-cole/#title-competition-week-leader-competition-week-leader\" rel=\"nofollow\"><img src=\"https://forecastrecord.com/b/e-47aa46371e213875f5de5053/p-09-z-8db4fd7aa0-event-m-light.svg\" alt=\"Joshua Cole · Süper Lig, week of 5 Oct 2026: 4/5 result calls right, first of 3 tipsters and sources with 3+ calls · Tracked by Forecast Record\" width=\"1176\" height=\"28\" loading=\"lazy\"></a>",
    "neighbours": [],
    "window_words": "On show until 8 Feb 2027",
    "measure_words": null,
    "amount_words": null,
    "interval_words": null,
    "title_tier": "dated_record",
    "status": "active",
    "status_reason": null,
    "event_at": "2026-10-11",
    "evidence_through": "2026-10-11",
    "earned_at": "2026-10-11",
    "published_at": "2026-10-26",
    "visible_until": "2027-02-08",
    "badge_label": "Süper Lig · 4/5 · 5 Oct",
    "scope_words": "Süper Lig",
    "title_id": "zk-8db4fd7aa0f4fdf53f5b",
    "evidence_items": [
     {
      "nid": "n-9e4f3d64ab663d3e269ea59e",
      "data": "2026-10-09",
      "match": "Galatasaray v Kasımpaşa",
      "said_text": "Correct score: Galatasaray 2-1 Kasımpaşa",
      "outcome_label": "score wrong · result right",
      "evidence_price": 1.27,
      "comparison": "3 other tipsters and sources on this match, 2 right (2 named home win, 1 named draw)",
      "url": "/authors/joshua-cole/picks/4/#pick-n-9e4f3d64ab663d3e269ea59e"
     },
     {
      "nid": "n-db9e4d3cdf8df51986576edc",
      "data": "2026-10-10",
      "match": "Gençlerbirliği v Amed SK",
      "said_text": "Correct score: Gençlerbirliği 1-2 Amed SK",
      "outcome_label": "score wrong · result wrong",
      "evidence_price": 2.02,
      "comparison": null,
      "url": "/authors/joshua-cole/picks/4/#pick-n-db9e4d3cdf8df51986576edc"
     },
     {
      "nid": "n-14d0b7f6aedf41578f2e82dd",
      "data": "2026-10-10",
      "match": "Samsunspor v Trabzonspor",
      "said_text": "Correct score: Samsunspor 0-2 Trabzonspor",
      "outcome_label": "score wrong · result right",
      "evidence_price": null,
      "comparison": "3 other tipsters and sources on this match, 3 right (3 named away win)",
      "url": "/authors/joshua-cole/picks/4/#pick-n-14d0b7f6aedf41578f2e82dd"
     },
     {
      "nid": "n-7aeda5d047303cb8e204be5e",
      "data": "2026-10-11",
      "match": "Konyaspor v İstanbul Başakşehir",
      "said_text": "Correct score: Konyaspor 1-1 İstanbul Başakşehir",
      "outcome_label": "score wrong · result right",
      "evidence_price": 3.5,
      "comparison": "2 other tipsters and sources on this match, 1 right (1 named draw, 1 named away win)",
      "url": "/authors/joshua-cole/picks/4/#pick-n-7aeda5d047303cb8e204be5e"
     },
     {
      "nid": "n-26440aebeb565feccd96bf7b",
      "data": "2026-10-11",
      "match": "Beşiktaş v Kocaelispor",
      "said_text": "Correct score: Beşiktaş 2-1 Kocaelispor",
      "outcome_label": "score right · result right",
      "evidence_price": null,
      "comparison": "4 other tipsters and sources on this match, 4 right (4 named home win)",
      "url": "/authors/joshua-cole/picks/4/#pick-n-26440aebeb565feccd96bf7b"
     }
    ],
    "evidence_total": 5,
    "badge": {
     "variants": [
      {
       "size": "l",
       "theme": "light",
       "width": 1598,
       "height": 40,
       "url": "/b/e-47aa46371e213875f5de5053/p-09-z-8db4fd7aa0-event-l-light.svg"
      },
      {
       "size": "l",
       "theme": "dark",
       "width": 1598,
       "height": 40,
       "url": "/b/e-47aa46371e213875f5de5053/p-09-z-8db4fd7aa0-event-l-dark.svg"
      },
      {
       "size": "m",
       "theme": "light",
       "width": 1176,
       "height": 28,
       "url": "/b/e-47aa46371e213875f5de5053/p-09-z-8db4fd7aa0-event-m-light.svg"
      },
      {
       "size": "m",
       "theme": "dark",
       "width": 1176,
       "height": 28,
       "url": "/b/e-47aa46371e213875f5de5053/p-09-z-8db4fd7aa0-event-m-dark.svg"
      },
      {
       "size": "s",
       "theme": "light",
       "width": 920,
       "height": 20,
       "url": "/b/e-47aa46371e213875f5de5053/p-09-z-8db4fd7aa0-event-s-light.svg"
      },
      {
       "size": "s",
       "theme": "dark",
       "width": 920,
       "height": 20,
       "url": "/b/e-47aa46371e213875f5de5053/p-09-z-8db4fd7aa0-event-s-dark.svg"
      }
     ],
     "card_url": "/b/e-47aa46371e213875f5de5053/p-09-z-8db4fd7aa0-event-card.svg"
    },
    "profile_anchor": "title-8db4fd7aa0f4",
    "chance": null,
    "embed_anchor": "title-competition-week-leader-competition-week-leader"
   },
   {
    "code_name": "E-07",
    "display_name": "Draw at 3.50 · Konyaspor v İstanbul Başakşehir · 11 Oct 2026",
    "received_at": "2026-11-07T19:52:23.438Z",
    "window_kind": "event",
    "cause": null,
    "type_code": null,
    "bucket_code": "all",
    "bucket": "Long-price call",
    "measure": null,
    "place": null,
    "out_of": null,
    "n_bets": 1,
    "n_events": null,
    "amount": null,
    "ci_low": null,
    "ci_high": null,
    "ci_level": null,
    "fact": "Draw at 3.50 · Konyaspor v İstanbul Başakşehir · 11 Oct 2026",
    "rationale": "Draw called correctly at 3.50 (our pre-match price). 2 other tipsters and sources on this match, 1 right (1 named draw, 1 named away win). Data: live record. Term: a dated fact.",
    "provenance": "live",
    "rules_version": "catalog-1",
    "methodology_version": "catalog-1",
    "data_date": "2026-11-07T19:52:23.438Z",
    "valid_until": null,
    "anchor_id": "standing-e-07-all-event",
    "alt": "Joshua Cole · Draw at 3.50 · Konyaspor v İstanbul Başakşehir · 11 Oct 2026 · Tracked by Forecast Record",
    "csv_url": null,
    "embed": "<a href=\"https://forecastrecord.com/authors/joshua-cole/#title-long-price-call\" rel=\"nofollow\"><img src=\"https://forecastrecord.com/b/e-47aa46371e213875f5de5053/e-07-all-event-m-light.svg\" alt=\"Joshua Cole · Draw at 3.50 · Konyaspor v İstanbul Başakşehir · 11 Oct 2026 · Tracked by Forecast Record\" width=\"851\" height=\"28\" loading=\"lazy\"></a>",
    "neighbours": [],
    "window_words": "On show until 9 Jan 2027",
    "measure_words": null,
    "amount_words": null,
    "interval_words": null,
    "title_tier": "dated_record",
    "status": "active",
    "status_reason": null,
    "event_at": "2026-10-11",
    "evidence_through": "2026-10-11",
    "earned_at": "2026-10-11",
    "published_at": "2026-10-19",
    "visible_until": "2027-01-09",
    "badge_label": "Correct at 3.50 · 11 Oct",
    "scope_words": null,
    "title_id": "zk-ca9e295ce832319c4d3d",
    "evidence_items": [
     {
      "nid": "n-7aeda5d047303cb8e204be5e",
      "data": "2026-10-11",
      "match": "Konyaspor v İstanbul Başakşehir",
      "said_text": "Correct score: Konyaspor 1-1 İstanbul Başakşehir",
      "outcome_label": "score wrong · result right",
      "evidence_price": 3.5,
      "comparison": "2 other tipsters and sources on this match, 1 right (1 named draw, 1 named away win)",
      "url": "/authors/joshua-cole/picks/4/#pick-n-7aeda5d047303cb8e204be5e"
     }
    ],
    "evidence_total": 1,
    "badge": {
     "variants": [
      {
       "size": "l",
       "theme": "light",
       "width": 1157,
       "height": 40,
       "url": "/b/e-47aa46371e213875f5de5053/e-07-all-event-l-light.svg"
      },
      {
       "size": "l",
       "theme": "dark",
       "width": 1157,
       "height": 40,
       "url": "/b/e-47aa46371e213875f5de5053/e-07-all-event-l-dark.svg"
      },
      {
       "size": "m",
       "theme": "light",
       "width": 851,
       "height": 28,
       "url": "/b/e-47aa46371e213875f5de5053/e-07-all-event-m-light.svg"
      },
      {
       "size": "m",
       "theme": "dark",
       "width": 851,
       "height": 28,
       "url": "/b/e-47aa46371e213875f5de5053/e-07-all-event-m-dark.svg"
      },
      {
       "size": "s",
       "theme": "light",
       "width": 665,
       "height": 20,
       "url": "/b/e-47aa46371e213875f5de5053/e-07-all-event-s-light.svg"
      },
      {
       "size": "s",
       "theme": "dark",
       "width": 665,
       "height": 20,
       "url": "/b/e-47aa46371e213875f5de5053/e-07-all-event-s-dark.svg"
      }
     ],
     "card_url": "/b/e-47aa46371e213875f5de5053/e-07-all-event-card.svg"
    },
    "profile_anchor": "title-ca9e295ce832",
    "chance": {
     "contract_version": 1,
     "kind": "single",
     "priced": 1,
     "unpriced": 0,
     "hits": 1,
     "probability": 0.285714,
     "one_in": 4,
     "log10": -0.54,
     "words": "1 in 4",
     "rule": "market probability (1/price) of this one pick",
     "note": "market prices include the bookmaker margin, so the chance is slightly overstated — a cautious figure"
    },
    "embed_anchor": "title-long-price-call"
   },
   {
    "code_name": "CS-10",
    "display_name": "Exact score 2–1 · Beşiktaş v Kocaelispor · 11 Oct 2026",
    "received_at": "2026-11-07T19:52:23.438Z",
    "window_kind": "event",
    "cause": null,
    "type_code": null,
    "bucket_code": "z-f0e35ddd25",
    "bucket": "Exact score called",
    "measure": null,
    "place": null,
    "out_of": null,
    "n_bets": 1,
    "n_events": null,
    "amount": null,
    "ci_low": null,
    "ci_high": null,
    "ci_level": null,
    "fact": "Exact score 2–1 · Beşiktaş v Kocaelispor · 11 Oct 2026",
    "rationale": "Correct score 2–1 called before the match; 1 other tipster named an exact score on this match, 0 right. Data: live record. Term: a dated fact.",
    "provenance": "live",
    "rules_version": "catalog-1",
    "methodology_version": "catalog-1",
    "data_date": "2026-11-07T19:52:23.438Z",
    "valid_until": null,
    "anchor_id": "standing-cs-10-z-f0e35ddd25-event",
    "alt": "Joshua Cole · Exact score 2–1 · Beşiktaş v Kocaelispor · 11 Oct 2026 · Tracked by Forecast Record",
    "csv_url": null,
    "embed": "<a href=\"https://forecastrecord.com/authors/joshua-cole/#title-exact-score-called-exact-score-called-2\" rel=\"nofollow\"><img src=\"https://forecastrecord.com/b/e-47aa46371e213875f5de5053/cs-10-z-f0e35ddd25-event-m-light.svg\" alt=\"Joshua Cole · Exact score 2–1 · Beşiktaş v Kocaelispor · 11 Oct 2026 · Tracked by Forecast Record\" width=\"803\" height=\"28\" loading=\"lazy\"></a>",
    "neighbours": [],
    "window_words": "On show until 9 Jan 2027",
    "measure_words": null,
    "amount_words": null,
    "interval_words": null,
    "title_tier": "dated_record",
    "status": "active",
    "status_reason": null,
    "event_at": "2026-10-11",
    "evidence_through": "2026-10-11",
    "earned_at": "2026-10-11",
    "published_at": "2026-10-19",
    "visible_until": "2027-01-09",
    "badge_label": "Exact score 2–1 · 11 Oct",
    "scope_words": null,
    "title_id": "zk-f0e35ddd2508bbefd9ac",
    "evidence_items": [
     {
      "nid": "n-26440aebeb565feccd96bf7b",
      "data": "2026-10-11",
      "match": "Beşiktaş v Kocaelispor",
      "said_text": "Correct score: Beşiktaş 2-1 Kocaelispor",
      "outcome_label": "score right · result right",
      "evidence_price": null,
      "comparison": "1 other tipster named an exact score on this match, 0 right",
      "url": "/authors/joshua-cole/picks/4/#pick-n-26440aebeb565feccd96bf7b"
     }
    ],
    "evidence_total": 1,
    "badge": {
     "variants": [
      {
       "size": "l",
       "theme": "light",
       "width": 1091,
       "height": 40,
       "url": "/b/e-47aa46371e213875f5de5053/cs-10-z-f0e35ddd25-event-l-light.svg"
      },
      {
       "size": "l",
       "theme": "dark",
       "width": 1091,
       "height": 40,
       "url": "/b/e-47aa46371e213875f5de5053/cs-10-z-f0e35ddd25-event-l-dark.svg"
      },
      {
       "size": "m",
       "theme": "light",
       "width": 803,
       "height": 28,
       "url": "/b/e-47aa46371e213875f5de5053/cs-10-z-f0e35ddd25-event-m-light.svg"
      },
      {
       "size": "m",
       "theme": "dark",
       "width": 803,
       "height": 28,
       "url": "/b/e-47aa46371e213875f5de5053/cs-10-z-f0e35ddd25-event-m-dark.svg"
      },
      {
       "size": "s",
       "theme": "light",
       "width": 626,
       "height": 20,
       "url": "/b/e-47aa46371e213875f5de5053/cs-10-z-f0e35ddd25-event-s-light.svg"
      },
      {
       "size": "s",
       "theme": "dark",
       "width": 626,
       "height": 20,
       "url": "/b/e-47aa46371e213875f5de5053/cs-10-z-f0e35ddd25-event-s-dark.svg"
      }
     ],
     "card_url": "/b/e-47aa46371e213875f5de5053/cs-10-z-f0e35ddd25-event-card.svg"
    },
    "profile_anchor": "title-f0e35ddd2508",
    "chance": {
     "contract_version": 1,
     "kind": "single",
     "priced": 0,
     "unpriced": 1,
     "probability": null,
     "one_in": null,
     "words": "No recorded prices for these picks, so the chance cannot be measured."
    },
    "embed_anchor": "title-exact-score-called-exact-score-called-2"
   }
  ],
  "publication_mode": "top20",
  "empty_reason": null,
  "rules_version": "catalog-1",
  "insufficient": [],
  "badges_on_page": 0,
  "header_titles": [
   {
    "title_id": "zk-12229464e25b26694d54",
    "code_name": "P-02",
    "title_tier": "dated_record",
    "badge_label": "No.1 · week of 12 Oct",
    "body": "No.1 of 11 · 9/11 result calls right · week of 12 Oct 2026",
    "tier": "No.1",
    "provenance": "live",
    "anchor_id": "title-12229464e25b",
    "event_at": "2026-10-18",
    "url": "/titles/p-02-no-1-of-the-week/#zk-12229464e25b26694d54"
   },
   {
    "title_id": "zk-1f2df03495edde3b9407",
    "code_name": "P-09",
    "title_tier": "dated_record",
    "badge_label": "Süper Lig · 3/3 · 19 Oct",
    "body": "Süper Lig, week of 19 Oct 2026: 3/3 result calls right, first of 5 tipsters and sources with 3+ calls",
    "tier": null,
    "provenance": "live",
    "anchor_id": "title-1f2df03495ed",
    "event_at": "2026-10-25",
    "url": "/titles/p-09-competition-week-leader/#zk-1f2df03495edde3b9407"
   },
   {
    "title_id": "zk-699b99ebf74c10672f90",
    "code_name": "CS-10",
    "title_tier": "dated_record",
    "badge_label": "Exact score 1–1 · 25 Oct",
    "body": "Exact score 1–1 · Monaco v Lille · 25 Oct 2026",
    "tier": null,
    "provenance": "live",
    "anchor_id": "title-699b99ebf74c",
    "event_at": "2026-10-25",
    "url": "/titles/cs-10-exact-score-called/"
   }
  ],
  "record_origin": [
   {
    "portion": "live",
    "n": 84,
    "body": "84 recorded before kick-off · since 9 Oct 2026"
   }
  ],
  "recent_record": [
   {
    "code_name": "P-02",
    "body": "No.1 of 11 · 9/11 result calls right · week of 12 Oct 2026",
    "event_at": "2026-10-18",
    "url": null,
    "provenance": "live",
    "anchor_id": "title-12229464e25b"
   },
   {
    "code_name": "P-09",
    "body": "Süper Lig, week of 19 Oct 2026: 3/3 result calls right, first of 5 tipsters and sources with 3+ calls",
    "event_at": "2026-10-25",
    "url": null,
    "provenance": "live",
    "anchor_id": "title-1f2df03495ed"
   },
   {
    "code_name": "CS-10",
    "body": "Exact score 1–1 · Monaco v Lille · 25 Oct 2026",
    "event_at": "2026-10-25",
    "url": null,
    "provenance": "live",
    "anchor_id": "title-699b99ebf74c"
   },
   {
    "code_name": "E-07",
    "body": "Draw at 3.50 · Konyaspor v İstanbul Başakşehir · 11 Oct 2026",
    "event_at": "2026-10-11",
    "url": null,
    "provenance": "live",
    "anchor_id": "title-ca9e295ce832"
   },
   {
    "code_name": "P-09",
    "body": "Süper Lig, week of 5 Oct 2026: 4/5 result calls right, first of 3 tipsters and sources with 3+ calls",
    "event_at": "2026-10-11",
    "url": null,
    "provenance": "live",
    "anchor_id": "title-8db4fd7aa0f4"
   },
   {
    "code_name": "CS-10",
    "body": "Exact score 1–2 · Samsunspor v Amed SK · 24 Oct 2026",
    "event_at": "2026-10-24",
    "url": null,
    "provenance": "live",
    "anchor_id": "title-4d158c4aac1e"
   },
   {
    "code_name": "CS-10",
    "body": "Exact score 2–1 · Beşiktaş v Kocaelispor · 11 Oct 2026",
    "event_at": "2026-10-11",
    "url": null,
    "provenance": "live",
    "anchor_id": "title-f0e35ddd2508"
   }
  ],
  "record_details": [
   {
    "code_name": "M-11",
    "body": "Most recorded: Correct score · 43 matches",
    "details_words": "Correct score 3/44 (43 matches); Match result (1X2) 5/14 (14 matches); Both teams to score 5/12 (12 matches); Goals over/under 6/12 (12 matches); Bet-builder combos 0/1 (1 match); Double chance and draw no bet 1/1 (1 match)",
    "url": null,
    "provenance": "live",
    "display_name": "Most recorded bet type",
    "rule_href": "/titles/m-11-most-recorded-bet-type/"
   },
   {
    "code_name": "CS-01",
    "body": "Exact scores · 3/44",
    "details_words": null,
    "url": null,
    "provenance": "live",
    "display_name": "Exact scores",
    "rule_href": "/titles/cs-01-exact-scores/"
   },
   {
    "code_name": "X-01",
    "body": "Longest price: correct at 3.50 · 11 Oct 2026",
    "details_words": "Konyaspor v İstanbul Başakşehir · Draw at 3.50 (our pre-match price) · from the predicted score: Correct score: Konyaspor 1-1 İstanbul Başakşehir",
    "url": "/authors/joshua-cole/picks/4/#pick-n-7aeda5d047303cb8e204be5e",
    "provenance": "live",
    "display_name": "Correct at a long price",
    "rule_href": "/titles/x-01-correct-at-a-long-price/"
   },
   {
    "code_name": "E-03",
    "body": "Away calls · 8/13",
    "details_words": null,
    "url": null,
    "provenance": "live",
    "display_name": "Away calls",
    "rule_href": "/titles/e-03-away-calls/"
   }
  ],
  "history": [
   {
    "code_name": "P-01",
    "body": "8/9 result calls right · week of 12 Oct 2026 · removed 25 Oct 2026",
    "event_at": "2026-10-25",
    "status": "corrected",
    "cause": "recomputed after a correction to the record",
    "provenance": "live"
   }
  ]
 },
 "retro": null,
 "late": null,
 "price_vs_market": {
  "contract_version": "1",
  "threshold_percent": "5",
  "rows": [
   {
    "basis": "snapshot",
    "basis_words": "our market price for the same selection when we first recorded the pick (median of bookmakers in our price feed; failing that, the first price within 2 hours after, always before kick-off)",
    "basis_short": "Our market price when we first recorded the pick",
    "compared": 32,
    "above": 5,
    "above_share_percent": "15.6",
    "below": 1,
    "within": 26,
    "median_difference_percent": "1.6",
    "not_comparable": 0,
    "disputed": 0,
    "status": "calculated"
   }
  ],
  "examples": [
   {
    "url": "/authors/joshua-cole/picks/8/#pick-n-133871ba4b2090acef5cda67",
    "basis": "snapshot",
    "stated": "2.16",
    "market": "1.67",
    "difference_percent": "29.6"
   },
   {
    "url": "/authors/joshua-cole/picks/6/#pick-n-4a86fbaf44ab7aa26c1a23da",
    "basis": "snapshot",
    "stated": "1.54",
    "market": "1.30",
    "difference_percent": "18.4"
   }
  ],
  "method": "Difference = the author's stated price ÷ the market price of the same selection − 1. A pick counts as above the market when the stated price is more than 5% higher. Each basis is its own comparison; they are never added together. A pair whose prices differ more than twofold is marked “price disputed”: it is probably not the same selection, so it is left out of this comparison and of every return at the author’s price until a manual check confirms the price. A price that the quoted text does not give is marked “price disputed” in the same way."
 },
 "record_summary": {
  "contract_version": "1",
  "entity_type": "person",
  "entity_words": "Individual author",
  "source": {
   "name": "footballwhispers.com",
   "url": "https://footballwhispers.com/blog/celtic-vs-besiktas-prediction-05-11-2026/"
  },
  "observed_from": "2026-09-25",
  "observed_to": "2026-11-06",
  "data_as_of": "2026-11-07",
  "state": "settled",
  "series_code": "market_price",
  "series": "Recorded before kick-off, at our recorded market price",
  "restored": false,
  "headline_kind": "live_snapshot",
  "headline_part": "live",
  "settled_picks": 32,
  "matches": 13,
  "void": 0,
  "net_points_hundredths": -128472,
  "staked_hundredths": 320000,
  "return_percent": "-40.15",
  "stake_per_pick_hundredths": 10000,
  "period_from": "2026-10-09",
  "period_to": "2026-11-05",
  "status": "calculated",
  "method_version": "2.2",
  "short_history": true,
  "reason": null,
  "reasons": [],
  "sentence": "Forecast Record recorded 32 settled live picks by Joshua Cole before kick-off across 13 matches between 9 October and 5 November 2026. At our recorded market prices these picks returned −40.1% on the total staked. Of the 164 predictions we hold for Joshua Cole, 97 are linked to matches: 97 were recorded by us before kick-off. Figures as of 7 November 2026.",
  "numbers": [
   {
    "label": "Settled live picks",
    "value": "32",
    "anchor": "/methodology/#settled-pick",
    "note": null
   },
   {
    "label": "Matches",
    "value": "13",
    "anchor": "/methodology/#match",
    "note": null
   },
   {
    "label": "Net result",
    "value": "−1,284.72 points",
    "anchor": "/methodology/#settlement",
    "note": "100 points per pick"
   },
   {
    "label": "Return at our recorded market price",
    "value": "−40.1%",
    "anchor": "/methodology/#roi",
    "note": "95% interval −65.3% to −7.3%"
   }
  ],
  "limitations": [
   "This page combines Joshua Cole across 3 platforms. The record above counts each prediction once, even when the same pick (match, market and selection) appeared on more than one platform; each platform keeps its own total under “Where Joshua Cole publishes”."
  ],
  "other_series": [],
  "return_over_time": [
   {
    "date": "2026-10-09",
    "cumulative_points_hundredths": -4600,
    "n": 2
   },
   {
    "date": "2026-10-14",
    "cumulative_points_hundredths": -8106,
    "n": 4
   },
   {
    "date": "2026-10-18",
    "cumulative_points_hundredths": 2694,
    "n": 5
   },
   {
    "date": "2026-10-20",
    "cumulative_points_hundredths": 5588,
    "n": 8
   },
   {
    "date": "2026-10-21",
    "cumulative_points_hundredths": 851,
    "n": 10
   },
   {
    "date": "2026-10-22",
    "cumulative_points_hundredths": -2401,
    "n": 13
   },
   {
    "date": "2026-10-26",
    "cumulative_points_hundredths": -18101,
    "n": 16
   },
   {
    "date": "2026-11-02",
    "cumulative_points_hundredths": -69172,
    "n": 23
   },
   {
    "date": "2026-11-03",
    "cumulative_points_hundredths": -109172,
    "n": 27
   },
   {
    "date": "2026-11-05",
    "cumulative_points_hundredths": -128472,
    "n": 32
   }
  ],
  "return_over_time_parts": {
   "live": {
    "part": "live",
    "label": "Recorded by us before kick-off",
    "series_code": "market_price",
    "price_rule": "Return at our recorded market price",
    "x_axis": "match_date",
    "dated_note": "Dated by match day. Each pick was recorded by us before kick-off and settled after the match.",
    "settled_picks": 32,
    "matches": 13,
    "match_dates": 10,
    "period_from": "2026-10-09",
    "period_to": "2026-11-05",
    "stake_per_pick_hundredths": 10000,
    "final_points_hundredths": -128472,
    "low": {
     "date": "2026-11-05",
     "cumulative_points_hundredths": -128472,
     "after_picks": 32
    },
    "high": {
     "date": "2026-10-20",
     "cumulative_points_hundredths": 5588,
     "after_picks": 8
    },
    "line_drawn": true,
    "steps": [
     {
      "date": "2026-10-09",
      "cumulative_points_hundredths": -4600,
      "n": 2,
      "picks": 2
     },
     {
      "date": "2026-10-14",
      "cumulative_points_hundredths": -8106,
      "n": 4,
      "picks": 2
     },
     {
      "date": "2026-10-18",
      "cumulative_points_hundredths": 2694,
      "n": 5,
      "picks": 1
     },
     {
      "date": "2026-10-20",
      "cumulative_points_hundredths": 5588,
      "n": 8,
      "picks": 3
     },
     {
      "date": "2026-10-21",
      "cumulative_points_hundredths": 851,
      "n": 10,
      "picks": 2
     },
     {
      "date": "2026-10-22",
      "cumulative_points_hundredths": -2401,
      "n": 13,
      "picks": 3
     },
     {
      "date": "2026-10-26",
      "cumulative_points_hundredths": -18101,
      "n": 16,
      "picks": 3
     },
     {
      "date": "2026-11-02",
      "cumulative_points_hundredths": -69172,
      "n": 23,
      "picks": 7
     },
     {
      "date": "2026-11-03",
      "cumulative_points_hundredths": -109172,
      "n": 27,
      "picks": 4
     },
     {
      "date": "2026-11-05",
      "cumulative_points_hundredths": -128472,
      "n": 32,
      "picks": 5
     }
    ]
   },
   "archived": null
  },
  "author_response": null,
  "cite": {
   "text": "Forecast Record recorded 32 settled live picks by Joshua Cole before kick-off across 13 matches between 9 October and 5 November 2026. At our recorded market prices these picks returned −40.1% on the total staked. Of the 164 predictions we hold for Joshua Cole, 97 are linked to matches: 97 were recorded by us before kick-off. Figures as of 7 November 2026.",
   "url": "https://forecastrecord.com/authors/joshua-cole/",
   "data_as_of": "2026-11-07",
   "method_version": "2.2"
  },
  "origin": {
   "contract_version": "1",
   "predictions": 164,
   "under_review": 0,
   "no_match_linked": 67,
   "proven_predictions": 97,
   "proven_checked": 95,
   "proven_measured": 78,
   "proven_dates": 26,
   "parts": [
    {
     "code": "live",
     "title": "Recorded before kick-off",
     "explanation": "Saved by us from the source before kick-off.",
     "predictions": 97,
     "checked": 95,
     "price_rule": "Return at our recorded market price",
     "series_code": "market_price",
     "main": {
      "settled_picks": 32,
      "void": 0,
      "matches": 13,
      "net_points_hundredths": -128472,
      "staked_hundredths": 320000,
      "return_percent": "-40.15",
      "interval_low": "-65.33",
      "interval_high": "-7.35",
      "interval_note": null,
      "period_from": "2026-10-09",
      "period_to": "2026-11-05",
      "method_version": "2.2",
      "snapshot_delay_median_hours": "0.0",
      "snapshot_delay_max_hours": "0.0",
      "checked_after_kickoff_picks": 13
     },
     "same_picks": [
      {
       "price": "Author-quoted price",
       "series_code": "author_price",
       "picks": 31,
       "return_main_percent": "-38.22",
       "return_other_percent": "-36.45",
       "settled_excluding_void": 31,
       "net_main_points_hundredths": -118472,
       "net_other_points_hundredths": -113000,
       "period_from": "2026-10-09",
       "period_to": "2026-11-05"
      },
      {
       "price": "Closing price",
       "series_code": "closing_live",
       "picks": 29,
       "return_main_percent": "-33.96",
       "return_other_percent": "-34.51",
       "settled_excluding_void": 29,
       "net_main_points_hundredths": -98472,
       "net_other_points_hundredths": -100073,
       "period_from": "2026-10-09",
       "period_to": "2026-11-05"
      }
     ],
     "score": {
      "score_forecasts": 46,
      "exact_hits": 4,
      "exact_rate": 8.7,
      "outcome_checked": 46,
      "outcome_hits": 27,
      "outcome_rate": 58.7,
      "baseline_matches": 35,
      "baseline_distinct_matches": 35,
      "outcome_hits_on_baseline": 18,
      "outcome_rate_on_baseline": 51.4,
      "favourite_hits": 21,
      "favourite_rate": 60.0,
      "price_basis": "our pre-match snapshot",
      "pending": 2,
      "void": 0,
      "recorded_after_kickoff": 0,
      "lines": [
       "Outcome checked. No betting return is attributed to these score forecasts.",
       "4 of 46 score forecasts named the exact score (8.7%).",
       "The result implied by the named score was right in 18 of 35 matches; the market favourite was right in 21 of the same 35 matches.",
       "A pre-match market favourite is known for 35 of 46 forecasts; the comparison uses only those.",
       "The market favourite is the home win, draw or away win with the lowest price in our own odds snapshot taken before kick-off.",
       "The implied result follows from the named score (2-1 implies a home win)."
      ]
     },
     "eligible": {
      "checked": 95,
      "priced": 32
     },
     "accuracy": {
      "picks": 32,
      "won": 12,
      "won_percent": "37.5",
      "implied_percent": "55.6",
      "left_out": 0,
      "by_market": [
       {
        "market": "Match result",
        "won": 4,
        "picks": 11,
        "implied_percent": "48.8"
       },
       {
        "market": "Both teams to score",
        "won": 4,
        "picks": 10,
        "implied_percent": "63.4"
       },
       {
        "market": "Over/under goals",
        "won": 3,
        "picks": 8,
        "implied_percent": "63.5"
       },
       {
        "market": "Correct score",
        "won": 0,
        "picks": 2,
        "implied_percent": "13.6"
       },
       {
        "market": "Double chance",
        "won": 1,
        "picks": 1,
        "implied_percent": "72.8"
       }
      ]
     },
     "reviewed_after": {
      "predictions": 14,
      "right": 1,
      "wrong": 13,
      "other": 0
     }
    },
    {
     "code": "archived",
     "title": "Archived before kick-off",
     "explanation": "Restored from a copy saved by an independent web archive before kick-off.",
     "predictions": 0,
     "checked": 0,
     "price_rule": "Reconstructed at archived prices",
     "series_code": "retro_market_closing_sm",
     "main": null,
     "same_picks": [],
     "score": {
      "score_forecasts": 0,
      "exact_hits": 0,
      "exact_rate": null,
      "outcome_checked": 0,
      "outcome_hits": 0,
      "outcome_rate": null,
      "baseline_matches": 0,
      "baseline_distinct_matches": 0,
      "outcome_hits_on_baseline": 0,
      "outcome_rate_on_baseline": null,
      "favourite_hits": 0,
      "favourite_rate": null,
      "price_basis": null,
      "pending": 0,
      "void": 0,
      "recorded_after_kickoff": 0,
      "lines": []
     },
     "eligible": {
      "checked": 0,
      "priced": 0
     },
     "accuracy": null
    },
    {
     "code": "found_after",
     "title": "Found after the match",
     "explanation": "First found after the match; the date is the one the source states.",
     "predictions": 0,
     "checked": 0,
     "price_rule": "Reconstructed at archived prices",
     "series_code": "retro_market_closing_sm",
     "main": null,
     "same_picks": [],
     "score": {
      "score_forecasts": 0,
      "exact_hits": 0,
      "exact_rate": null,
      "outcome_checked": 0,
      "outcome_hits": 0,
      "outcome_rate": null,
      "baseline_matches": 0,
      "baseline_distinct_matches": 0,
      "outcome_hits_on_baseline": 0,
      "outcome_rate_on_baseline": null,
      "favourite_hits": 0,
      "favourite_rate": null,
      "price_basis": null,
      "pending": 0,
      "void": 0,
      "recorded_after_kickoff": 0,
      "lines": []
     },
     "eligible": {
      "checked": 0,
      "priced": 0
     },
     "accuracy": null
    }
   ]
  },
  "live_alongside": null,
  "headline_record_ids": [
   "n-133871ba4b2090acef5cda67",
   "n-1655dac0ec6a6e96d0a1ded1",
   "n-25cab85405dbcf0f3f381bd5",
   "n-2bda91fe7e42e02ea5f12610",
   "n-355cf37fb53eee2ae22abd28",
   "n-47435ebdd2203b1578d3996b",
   "n-486d13abae9059de98f3d6d3",
   "n-4a86fbaf44ab7aa26c1a23da",
   "n-66c0b8e5b6ca964e0c046cec",
   "n-672d135f80b4227c2babcda8",
   "n-74423e79918741d4379ed1f3",
   "n-75fd3b2344eca426a0724e9b",
   "n-7d7753b55fd2d01b3f70203d",
   "n-82a9f497481e4b0163317af7",
   "n-8525f5f0e8028b0aa285d1f1",
   "n-8c8acc7e8fe7277d31e227cf",
   "n-90461073e1e4963a133127a2",
   "n-919a663368fe3d2486a8d5a0",
   "n-ac8cf90892a2938d329950fb",
   "n-ade37267d504c6ae785d0f06",
   "n-b26422e4a3f10b60544a6f38",
   "n-b8b4d191a1e5f433ebf4de2f",
   "n-c3cc392facc2c37a15a55023",
   "n-caf6620023020461d08e4924",
   "n-cbb04033779170baa16f8e50",
   "n-d81a72be627d43d34063c124",
   "n-e0214bfa412502b1a3248157",
   "n-e0a18aa4d1ab46962c293d10",
   "n-ea3cbb8abb1c484a12fa1945",
   "n-f129746a90c27f568383bc07",
   "n-f3985d7738f499dec5145b66",
   "n-faea30e522b276b91341a356"
  ],
  "interval_low": "-65.33",
  "interval_high": "-7.35",
  "caption": "Recorded before kick-off, at our recorded market price · 100 points per pick · 9 October – 5 November 2026 · Calculated · picks settled under method v2.2",
  "record_from": "2026-09-25",
  "record_to": "2026-11-06"
 },
 "recorded_picks": [
  {
   "record_id": "n-74423e79918741d4379ed1f3",
   "url": "/authors/joshua-cole/picks/9/#pick-n-74423e79918741d4379ed1f3",
   "match": "Celtic v Beşiktaş",
   "match_url": "/football/matches/celtic-vs-besiktas-2026-11-05/",
   "kickoff": "2026-11-05T20:00:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 47.2,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 1.53",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "3-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 5000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.53",
   "settled_price": "1.5000",
   "published_at": "2026-11-03T20:35:34.000Z",
   "recorded_at": "2026-11-03T20:48:21.915Z",
   "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.5000",
    "result": "Won",
    "points_hundredths": 5000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-74423e79918741d4379ed1f3",
    "quote_text": "both teams to score (53/100)",
    "fragment_from": 4888,
    "fragment_to": 4916,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/celtic-vs-besiktas-prediction-05-11-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d3f6a40d88894df075a1489e211fa0f6bdfdfe41ffe33e0c6130f6fe0add7777",
     "material_removed": false
    },
    "published_at": "2026-11-03T20:35:34.000Z",
    "detected_at": "2026-11-03T20:48:21.915Z",
    "executed_at": "2026-11-03T20:58:09.014Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-956b3f4d80d8",
     "display_name": "Celtic — Beşiktaş",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-11-05T20:00:00.000Z",
     "url": "/football/matches/celtic-vs-besiktas-2026-11-05/",
     "scoreline": "3-2",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "1.53",
     "our_snapshot": "1.5000",
     "our_snapshot_at": "2026-11-03T20:45:50.338Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 5000,
    "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-03T20:35:34.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-03T20:35:34.000Z",
     "detected_at": "2026-11-03T20:48:21.915Z",
     "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.53",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 1.53"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "3-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Celtic 3-2 Beşiktaş."
    },
    "settlements": [
     {
      "operation_id": "105fe2c9cb651724eb80f490f0bfa2eb8ad92758a72606cc62fbfff3f12d4d9d",
      "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.53",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5300,
      "executed_at": "2026-11-03T20:58:05.330Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "073250ea852e6b18b2149c869212d5810343bff37ade8f09eb17daa1c49ca3f3",
      "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.5000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5000,
      "executed_at": "2026-11-03T20:58:09.014Z",
      "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/celtic-vs-besiktas-prediction-05-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-cbb04033779170baa16f8e50",
   "url": "/authors/joshua-cole/picks/9/#pick-n-cbb04033779170baa16f8e50",
   "match": "Celtic v Beşiktaş",
   "match_url": "/football/matches/celtic-vs-besiktas-2026-11-05/",
   "kickoff": "2026-11-05T20:00:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 47.2,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 1.69",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "3-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 5700,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.69",
   "settled_price": "1.5700",
   "published_at": "2026-11-03T20:35:34.000Z",
   "recorded_at": "2026-11-03T20:48:21.915Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "over",
    "price": "1.5700",
    "result": "Won",
    "points_hundredths": 5700,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-cbb04033779170baa16f8e50",
    "quote_text": "over 2.5 goals at 1.69 (69/100)",
    "fragment_from": 4852,
    "fragment_to": 4883,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/celtic-vs-besiktas-prediction-05-11-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d3f6a40d88894df075a1489e211fa0f6bdfdfe41ffe33e0c6130f6fe0add7777",
     "material_removed": false
    },
    "published_at": "2026-11-03T20:35:34.000Z",
    "detected_at": "2026-11-03T20:48:21.915Z",
    "executed_at": "2026-11-03T20:58:13.676Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-956b3f4d80d8",
     "display_name": "Celtic — Beşiktaş",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-11-05T20:00:00.000Z",
     "url": "/football/matches/celtic-vs-besiktas-2026-11-05/",
     "scoreline": "3-2",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": "1.69",
     "our_snapshot": "1.5700",
     "our_snapshot_at": "2026-11-03T20:45:50.338Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 5700,
    "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-03T20:35:34.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-03T20:35:34.000Z",
     "detected_at": "2026-11-03T20:48:21.915Z",
     "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.69",
     "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.69"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "3-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Celtic 3-2 Beşiktaş."
    },
    "settlements": [
     {
      "operation_id": "05a7201f9d59edc2d3a94f8e714c699adc0b616539d3d8e0167a2b984fd65bfa",
      "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.69",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 6900,
      "executed_at": "2026-11-03T20:58:09.258Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "93997b1e8832776d0d03c0f95e882c3a32c5a42183bbc06b0036c32ff673e9ea",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": "1.5700",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5700,
      "executed_at": "2026-11-03T20:58:13.676Z",
      "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/celtic-vs-besiktas-prediction-05-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-f3985d7738f499dec5145b66",
   "url": "/authors/joshua-cole/picks/9/#pick-n-f3985d7738f499dec5145b66",
   "match": "Trabzonspor v SC Freiburg",
   "match_url": "/football/matches/trabzonspor-vs-sc-freiburg-2026-11-05/",
   "kickoff": "2026-11-05T17:45:00.000Z",
   "competition": "UEFA Conference League",
   "lead_hours": 46.0,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 1.55",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "0-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.55",
   "settled_price": "1.5000",
   "published_at": "2026-11-03T19:28:55.000Z",
   "recorded_at": "2026-11-03T19:44:17.158Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "over",
    "price": "1.5000",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-f3985d7738f499dec5145b66",
    "quote_text": "and over 2.5 goals at 1.55 (11/20) solid picks.",
    "fragment_from": 5407,
    "fragment_to": 5454,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/trabzonspor-vs-freiburg-prediction-05-11-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "04bb35dd74c144cb570de8656d7f031b17bce799a08f5dbb79c815baa50d9da0",
     "material_removed": false
    },
    "published_at": "2026-11-03T19:28:55.000Z",
    "detected_at": "2026-11-03T19:44:17.158Z",
    "executed_at": "2026-11-03T19:47:39.735Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-4cb5a6b23560",
     "display_name": "Trabzonspor — SC Freiburg",
     "competition_name": "UEFA Conference League",
     "starts_at": "2026-11-05T17:45:00.000Z",
     "url": "/football/matches/trabzonspor-vs-sc-freiburg-2026-11-05/",
     "scoreline": "0-1",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": "1.55",
     "our_snapshot": "1.5000",
     "our_snapshot_at": "2026-11-03T19:39:25.942Z",
     "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-03T19:28:55.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-03T19:28:55.000Z",
     "detected_at": "2026-11-03T19:44:17.158Z",
     "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.55",
     "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.55"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Trabzonspor 0-1 SC Freiburg."
    },
    "settlements": [
     {
      "operation_id": "27b318aac4c20a04d474154e0bdfd51f58edd87d2f021e1f1476258835a6483e",
      "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.55",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-03T19:47:38.991Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "5885dfb8ca043992b956e9e04d240545292864ec4cd40e97d146cac9094c19ec",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": "1.5000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-03T19:47:39.735Z",
      "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/trabzonspor-vs-freiburg-prediction-05-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-355cf37fb53eee2ae22abd28",
   "url": "/authors/joshua-cole/picks/9/#pick-n-355cf37fb53eee2ae22abd28",
   "match": "Trabzonspor v SC Freiburg",
   "match_url": "/football/matches/trabzonspor-vs-sc-freiburg-2026-11-05/",
   "kickoff": "2026-11-05T17:45:00.000Z",
   "competition": "UEFA Conference League",
   "lead_hours": 46.0,
   "market_code": "1x2",
   "author_said": "1X2, match result: Trabzonspor at 2.39",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "0-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "2.39",
   "settled_price": "2.4500",
   "published_at": "2026-11-03T19:28:55.000Z",
   "recorded_at": "2026-11-03T19:44:17.158Z",
   "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-355cf37fb53eee2ae22abd28",
    "quote_text": "making home win at 2.39 (139/100) a decent pick.",
    "fragment_from": 5161,
    "fragment_to": 5209,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/trabzonspor-vs-freiburg-prediction-05-11-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "04bb35dd74c144cb570de8656d7f031b17bce799a08f5dbb79c815baa50d9da0",
     "material_removed": false
    },
    "published_at": "2026-11-03T19:28:55.000Z",
    "detected_at": "2026-11-03T19:44:17.158Z",
    "executed_at": "2026-11-03T19:47:38.846Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-4cb5a6b23560",
     "display_name": "Trabzonspor — SC Freiburg",
     "competition_name": "UEFA Conference League",
     "starts_at": "2026-11-05T17:45:00.000Z",
     "url": "/football/matches/trabzonspor-vs-sc-freiburg-2026-11-05/",
     "scoreline": "0-1",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Trabzonspor",
    "odds_set": {
     "by_author": "2.39",
     "our_snapshot": "2.4500",
     "our_snapshot_at": "2026-11-03T19:39:25.942Z",
     "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-03T19:28:55.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-03T19:28:55.000Z",
     "detected_at": "2026-11-03T19:44:17.158Z",
     "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": "Trabzonspor",
     "author_odds": "2.39",
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Trabzonspor at 2.39"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Trabzonspor 0-1 SC Freiburg."
    },
    "settlements": [
     {
      "operation_id": "e367b2a43ed60c489adb1e1126068aa4c3637d866daec2607e284112c0cddb3f",
      "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": "Trabzonspor",
      "decimal_odds": "2.39",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-03T19:47:38.078Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "48eb4316b1449523963681773afc67abc1d2c9def35502845b68febc05f4bf23",
      "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": "Trabzonspor",
      "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-03T19:47:38.846Z",
      "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/trabzonspor-vs-freiburg-prediction-05-11-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Trabzonspor to win"
   }
  },
  {
   "record_id": "n-1655dac0ec6a6e96d0a1ded1",
   "url": "/authors/joshua-cole/picks/9/#pick-n-1655dac0ec6a6e96d0a1ded1",
   "match": "Trabzonspor v SC Freiburg",
   "match_url": "/football/matches/trabzonspor-vs-sc-freiburg-2026-11-05/",
   "kickoff": "2026-11-05T17:45:00.000Z",
   "competition": "UEFA Conference League",
   "lead_hours": 46.0,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 1.45",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "0-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.45",
   "settled_price": "1.4100",
   "published_at": "2026-11-03T19:28:55.000Z",
   "recorded_at": "2026-11-03T19:44:17.158Z",
   "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.4100",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-1655dac0ec6a6e96d0a1ded1",
    "quote_text": "making both teams to score at 1.45 (9/20)",
    "fragment_from": 5365,
    "fragment_to": 5406,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/trabzonspor-vs-freiburg-prediction-05-11-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "04bb35dd74c144cb570de8656d7f031b17bce799a08f5dbb79c815baa50d9da0",
     "material_removed": false
    },
    "published_at": "2026-11-03T19:28:55.000Z",
    "detected_at": "2026-11-03T19:44:17.158Z",
    "executed_at": "2026-11-03T19:47:37.957Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-4cb5a6b23560",
     "display_name": "Trabzonspor — SC Freiburg",
     "competition_name": "UEFA Conference League",
     "starts_at": "2026-11-05T17:45:00.000Z",
     "url": "/football/matches/trabzonspor-vs-sc-freiburg-2026-11-05/",
     "scoreline": "0-1",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "1.45",
     "our_snapshot": "1.4100",
     "our_snapshot_at": "2026-11-03T19:39:25.942Z",
     "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-03T19:28:55.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-03T19:28:55.000Z",
     "detected_at": "2026-11-03T19:44:17.158Z",
     "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.45",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 1.45"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Trabzonspor 0-1 SC Freiburg."
    },
    "settlements": [
     {
      "operation_id": "d3b0deb735bd942632809c862c3c583bc194485246ef96f4a9643fa95c9132d1",
      "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.45",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-03T19:47:37.089Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "bafab36ed623d929266d7b03299fca22448b5e9b0657b8972f3df2e8383fb601",
      "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.4100",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-03T19:47:37.957Z",
      "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/trabzonspor-vs-freiburg-prediction-05-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-e0214bfa412502b1a3248157",
   "url": "/authors/joshua-cole/picks/9/#pick-n-e0214bfa412502b1a3248157",
   "match": "Galatasaray v VfB Stuttgart",
   "match_url": "/football/matches/galatasaray-vs-vfb-stuttgart-2026-11-03/",
   "kickoff": "2026-11-03T17:45:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 49.5,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Galatasaray 2-2 VfB Stuttgart at 9.9",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "9.9",
   "settled_price": "10.0000",
   "published_at": "2026-11-01T16:05:27.000Z",
   "recorded_at": "2026-11-01T16:14:17.652Z",
   "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-e0214bfa412502b1a3248157",
    "quote_text": "Correct score: Galatasaray 2-2 Stuttgart at 9.90 (89/10) | Likelihood: Low",
    "fragment_from": 5234,
    "fragment_to": 5308,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/galatasaray-vs-stuttgart-prediction-03-11-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "db2dbd248265854c15f3fb2ce3f32f65e8a941a6157d3ceb387db334e2400fed",
     "material_removed": false
    },
    "published_at": "2026-11-01T16:05:27.000Z",
    "detected_at": "2026-11-01T16:14:17.652Z",
    "executed_at": "2026-11-02T16:58:48.114Z",
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-fd57a6a9d1f7",
     "display_name": "Galatasaray — VfB Stuttgart",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-11-03T17:45:00.000Z",
     "url": "/football/matches/galatasaray-vs-vfb-stuttgart-2026-11-03/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Galatasaray 2-2 VfB Stuttgart",
    "odds_set": {
     "by_author": "9.9",
     "our_snapshot": "10.0000",
     "our_snapshot_at": "2026-11-01T16:12:03.060Z",
     "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-01T16:05:27.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-01T16:05:27.000Z",
     "detected_at": "2026-11-01T16:14:17.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": "Galatasaray 2-2 VfB Stuttgart",
     "author_odds": "9.9",
     "market_key": "correct_score_market",
     "choice_key": "2-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Galatasaray 2-2 VfB Stuttgart at 9.9"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Galatasaray 2-0 VfB Stuttgart."
    },
    "settlements": [
     {
      "operation_id": "806871315af715ad0c84a4cb3fea31a28ec91526cdb8fd8fed517377def70e21",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Galatasaray 2-2 VfB Stuttgart",
      "decimal_odds": "10.0000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-02T16:58:48.114Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "ba6ed47bb50e6012b9f721fb3d4ffd5f95d39b3a30d844ba21d775ad21b71561",
      "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.0000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-02T16:58:49.299Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "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/galatasaray-vs-stuttgart-prediction-03-11-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Galatasaray 2-2 VfB Stuttgart"
   }
  },
  {
   "record_id": "n-ea3cbb8abb1c484a12fa1945",
   "url": "/authors/joshua-cole/picks/9/#pick-n-ea3cbb8abb1c484a12fa1945",
   "match": "Galatasaray v VfB Stuttgart",
   "match_url": "/football/matches/galatasaray-vs-vfb-stuttgart-2026-11-03/",
   "kickoff": "2026-11-03T17:45:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 49.5,
   "market_code": "1x2",
   "author_said": "1X2, match result: draw at 4",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "4",
   "settled_price": "4.0000",
   "published_at": "2026-11-01T16:05:27.000Z",
   "recorded_at": "2026-11-01T16:14:17.652Z",
   "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.1500",
    "result": "Won",
    "points_hundredths": 11500,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-ea3cbb8abb1c484a12fa1945",
    "quote_text": "Match result – Draw at 4.00 (3/1) | Likelihood: Medium",
    "fragment_from": 5176,
    "fragment_to": 5230,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/galatasaray-vs-stuttgart-prediction-03-11-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "db2dbd248265854c15f3fb2ce3f32f65e8a941a6157d3ceb387db334e2400fed",
     "material_removed": false
    },
    "published_at": "2026-11-01T16:05:27.000Z",
    "detected_at": "2026-11-01T16:14:17.652Z",
    "executed_at": "2026-11-07T09:45:23.703Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-fd57a6a9d1f7",
     "display_name": "Galatasaray — VfB Stuttgart",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-11-03T17:45:00.000Z",
     "url": "/football/matches/galatasaray-vs-vfb-stuttgart-2026-11-03/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "draw",
    "odds_set": {
     "by_author": "4",
     "our_snapshot": "4.0000",
     "our_snapshot_at": "2026-11-01T16:13:24.228Z",
     "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-01T16:05:27.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-01T16:05:27.000Z",
     "detected_at": "2026-11-01T16:14:17.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": "1X2, match result",
     "choice": "draw",
     "author_odds": "4",
     "market_key": "1x2",
     "choice_key": "X",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: draw at 4"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Galatasaray 2-0 VfB Stuttgart."
    },
    "settlements": [
     {
      "operation_id": "c7052fbc25c9ce97a930552ebef09efe919d07c2c06166a0fe074e6e5d3c1bb5",
      "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": "draw",
      "decimal_odds": "4",
      "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:45:23.675Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "70490f6ee9615b976801c66da969bf38e6cba1f59a9a507568215077974d8534",
      "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": "draw",
      "decimal_odds": "4.0000",
      "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:45:23.703Z",
      "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/galatasaray-vs-stuttgart-prediction-03-11-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "a draw"
   }
  },
  {
   "record_id": "n-ac8cf90892a2938d329950fb",
   "url": "/authors/joshua-cole/picks/9/#pick-n-ac8cf90892a2938d329950fb",
   "match": "Galatasaray v VfB Stuttgart",
   "match_url": "/football/matches/galatasaray-vs-vfb-stuttgart-2026-11-03/",
   "kickoff": "2026-11-03T17:45:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 49.5,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 1.43",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.43",
   "settled_price": "1.4098",
   "published_at": "2026-11-01T16:05:27.000Z",
   "recorded_at": "2026-11-01T16:14:17.652Z",
   "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-ac8cf90892a2938d329950fb",
    "quote_text": "Over 2.5 goals at 1.43 (43/100 | Likelihood: High",
    "fragment_from": 5123,
    "fragment_to": 5172,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/galatasaray-vs-stuttgart-prediction-03-11-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "db2dbd248265854c15f3fb2ce3f32f65e8a941a6157d3ceb387db334e2400fed",
     "material_removed": false
    },
    "published_at": "2026-11-01T16:05:27.000Z",
    "detected_at": "2026-11-01T16:14:17.652Z",
    "executed_at": "2026-11-07T09:45:23.657Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-fd57a6a9d1f7",
     "display_name": "Galatasaray — VfB Stuttgart",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-11-03T17:45:00.000Z",
     "url": "/football/matches/galatasaray-vs-vfb-stuttgart-2026-11-03/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": "1.43",
     "our_snapshot": "1.4098",
     "our_snapshot_at": "2026-11-01T16:13:24.228Z",
     "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-01T16:05:27.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-01T16:05:27.000Z",
     "detected_at": "2026-11-01T16:14:17.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": "Over/Under 2.5 goals",
     "choice": "over 2.5",
     "author_odds": "1.43",
     "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.43"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Galatasaray 2-0 VfB Stuttgart."
    },
    "settlements": [
     {
      "operation_id": "ed6c13a88a7d103219d4e1054a61e95eb8578f37676f8cad2daa6ae15b54436b",
      "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.43",
      "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:45:23.477Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "d66431b61c09dfaabe165c49d14a7612228e156abbceace9a6885573adce0116",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": "1.4098",
      "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:45:23.657Z",
      "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/galatasaray-vs-stuttgart-prediction-03-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-b8b4d191a1e5f433ebf4de2f",
   "url": "/authors/joshua-cole/picks/9/#pick-n-b8b4d191a1e5f433ebf4de2f",
   "match": "Galatasaray v VfB Stuttgart",
   "match_url": "/football/matches/galatasaray-vs-vfb-stuttgart-2026-11-03/",
   "kickoff": "2026-11-03T17:45:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 49.5,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 1.41",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.41",
   "settled_price": "1.3775",
   "published_at": "2026-11-01T16:05:27.000Z",
   "recorded_at": "2026-11-01T16:14:17.652Z",
   "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.3775",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-b8b4d191a1e5f433ebf4de2f",
    "quote_text": "Both teams to score at 1.41 (41/100 | Likelihood: High",
    "fragment_from": 5065,
    "fragment_to": 5119,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/galatasaray-vs-stuttgart-prediction-03-11-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "db2dbd248265854c15f3fb2ce3f32f65e8a941a6157d3ceb387db334e2400fed",
     "material_removed": false
    },
    "published_at": "2026-11-01T16:05:27.000Z",
    "detected_at": "2026-11-01T16:14:17.652Z",
    "executed_at": "2026-11-02T16:58:47.268Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-fd57a6a9d1f7",
     "display_name": "Galatasaray — VfB Stuttgart",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-11-03T17:45:00.000Z",
     "url": "/football/matches/galatasaray-vs-vfb-stuttgart-2026-11-03/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "1.41",
     "our_snapshot": "1.3775",
     "our_snapshot_at": "2026-11-01T16:13:24.228Z",
     "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-01T16:05:27.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-01T16:05:27.000Z",
     "detected_at": "2026-11-01T16:14:17.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": "Both teams to score",
     "choice": "yes",
     "author_odds": "1.41",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 1.41"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Galatasaray 2-0 VfB Stuttgart."
    },
    "settlements": [
     {
      "operation_id": "06a26edd6286bfa057ae7e2ca8678df3becf20af81ba2a668fce4c8c07cd4bd4",
      "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.41",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-02T16:58:42.101Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "f5e2ba9e25cf7aa45644ef171ec1e8287dce0ad66f82f92967f1b241b3ebe88f",
      "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.3775",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-02T16:58:47.268Z",
      "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/galatasaray-vs-stuttgart-prediction-03-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-c3cc392facc2c37a15a55023",
   "url": "/authors/joshua-cole/picks/9/#pick-n-c3cc392facc2c37a15a55023",
   "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": "both_teams_score",
   "author_said": "Both teams to score: yes at 1.95",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 8929,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.95",
   "settled_price": "1.8929",
   "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": "no",
    "price": "1.8333",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-c3cc392facc2c37a15a55023",
    "quote_text": "Both teams to score at 1.95 (19/20) | Likelihood: Medium",
    "fragment_from": 5514,
    "fragment_to": 5570,
    "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:52.893Z",
    "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": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "1.95",
     "our_snapshot": "1.8929",
     "our_snapshot_at": "2026-11-01T14:21:49.566Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 8929,
    "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": "Both teams to score",
     "choice": "yes",
     "author_odds": "1.95",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 1.95"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Deportivo de A Coruña 2-1 Osasuna."
    },
    "settlements": [
     {
      "operation_id": "fddc424d28fec4a0c71e7f7b7ff2222f98387ebb10ae4896a975ad69e58b1b15",
      "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.95",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 9500,
      "executed_at": "2026-11-02T07:35:52.045Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "cb239ce9f4a32aa7184f14989f1fc22bfea6d5ce9021a408022571a957cce8cc",
      "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.8929",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 8929,
      "executed_at": "2026-11-02T07:35:52.893Z",
      "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": "yes (Both teams to score)"
   }
  },
  {
   "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"
   }
  },
  {
   "record_id": "n-ade37267d504c6ae785d0f06",
   "url": "/authors/joshua-cole/picks/9/#pick-n-ade37267d504c6ae785d0f06",
   "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": "1x2",
   "author_said": "1X2, match result: draw at 3.43",
   "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": "3.43",
   "settled_price": "3.2500",
   "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-ade37267d504c6ae785d0f06",
    "quote_text": "Match result – Draw at 3.43 (243/10 | Likelihood: Medium",
    "fragment_from": 5629,
    "fragment_to": 5685,
    "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-07T09:45:32.353Z",
    "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": "1X2, match result",
    "outcome_label": "draw",
    "odds_set": {
     "by_author": "3.43",
     "our_snapshot": "3.2500",
     "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": "1X2, match result",
     "choice": "draw",
     "author_odds": "3.43",
     "market_key": "1x2",
     "choice_key": "X",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: draw at 3.43"
    },
    "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": "f7e5ee7f9531df11a549529a0f36cb26cca4012e21bbd73f291f2511b7cfba10",
      "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": "draw",
      "decimal_odds": "3.43",
      "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:45:30.726Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "b63725e8a02830f693d1d15dbe3c268c31aed6880341f3277c2904ab1406f97d",
      "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": "draw",
      "decimal_odds": "3.2500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T09:45:32.353Z",
      "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": "a draw"
   }
  },
  {
   "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-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-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-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-672d135f80b4227c2babcda8",
   "url": "/authors/joshua-cole/picks/7/#pick-n-672d135f80b4227c2babcda8",
   "match": "Paris Saint-Germain v Olympique Lyonnais",
   "match_url": "/football/matches/paris-saint-germain-vs-olympique-lyonnais-2026-10-26/",
   "kickoff": "2026-10-26T19:30:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 45.7,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 1.5",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.5",
   "settled_price": "1.5300",
   "published_at": "2026-10-24T21:33:12.000Z",
   "recorded_at": "2026-10-24T21:45:07.234Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-672d135f80b4227c2babcda8",
    "quote_text": "Both teams to score at 1.50 (1/2)",
    "fragment_from": 5178,
    "fragment_to": 5211,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/psg-vs-lyon-prediction-26-10-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "75a7779d9cc7aee474d946764bf1601cbdb5273af39ae951cd3c4f42ddf817c3",
     "material_removed": false
    },
    "published_at": "2026-10-24T21:33:12.000Z",
    "detected_at": "2026-10-24T21:45:07.234Z",
    "executed_at": "2026-11-07T11:57:21.644Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-4bf1ea244970",
     "display_name": "Paris Saint-Germain — Olympique Lyonnais",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-26T19:30:00.000Z",
     "url": "/football/matches/paris-saint-germain-vs-olympique-lyonnais-2026-10-26/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "1.5",
     "our_snapshot": "1.5300",
     "our_snapshot_at": "2026-10-24T21:44:54.764Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-24T21:33:12.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-24T21:33:12.000Z",
     "detected_at": "2026-10-24T21:45:07.234Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Both teams to score",
     "choice": "yes",
     "author_odds": "1.5",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 1.5"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Paris Saint-Germain 2-0 Olympique Lyonnais."
    },
    "settlements": [
     {
      "operation_id": "38ed529d1b7a2ab157920340df8550aa07a2164caad0fb303b581f5cdb89d590",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.5",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T11:57:20.733Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "786e0ee3f64e978b21cafc9dbc10637eff65ec56a252227be3890de149163778",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.5300",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T11:57:21.644Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Joshua Cole",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Cole",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/psg-vs-lyon-prediction-26-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-919a663368fe3d2486a8d5a0",
   "url": "/authors/joshua-cole/picks/7/#pick-n-919a663368fe3d2486a8d5a0",
   "match": "Paris Saint-Germain v Olympique Lyonnais",
   "match_url": "/football/matches/paris-saint-germain-vs-olympique-lyonnais-2026-10-26/",
   "kickoff": "2026-10-26T19:30:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 45.7,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 1.33",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.33",
   "settled_price": "1.3700",
   "published_at": "2026-10-24T21:33:12.000Z",
   "recorded_at": "2026-10-24T21:45:07.234Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "over",
    "price": "1.3700",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-919a663368fe3d2486a8d5a0",
    "quote_text": "Over 2.5 goals at 1.33 (1/3)",
    "fragment_from": 5079,
    "fragment_to": 5107,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/psg-vs-lyon-prediction-26-10-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "75a7779d9cc7aee474d946764bf1601cbdb5273af39ae951cd3c4f42ddf817c3",
     "material_removed": false
    },
    "published_at": "2026-10-24T21:33:12.000Z",
    "detected_at": "2026-10-24T21:45:07.234Z",
    "executed_at": "2026-10-26T15:39:01.100Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-4bf1ea244970",
     "display_name": "Paris Saint-Germain — Olympique Lyonnais",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-26T19:30:00.000Z",
     "url": "/football/matches/paris-saint-germain-vs-olympique-lyonnais-2026-10-26/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": "1.33",
     "our_snapshot": "1.3700",
     "our_snapshot_at": "2026-10-24T21:44:54.764Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-24T21:33:12.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-24T21:33:12.000Z",
     "detected_at": "2026-10-24T21:45:07.234Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Over/Under 2.5 goals",
     "choice": "over 2.5",
     "author_odds": "1.33",
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: over 2.5 at 1.33"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Paris Saint-Germain 2-0 Olympique Lyonnais."
    },
    "settlements": [
     {
      "operation_id": "939a412c33f32ed252f575bf2dedd74dcd7449c196000b1d359e0c79200e15b4",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": "1.33",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-26T15:38:59.972Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "db4da577e20e7f31c96fd72bb1a9ebc78ff073fa1e709b552e9bff97e12e0ee3",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": "1.3700",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-26T15:39:01.100Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Joshua Cole",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Cole",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/psg-vs-lyon-prediction-26-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "over 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-d81a72be627d43d34063c124",
   "url": "/authors/joshua-cole/picks/7/#pick-n-d81a72be627d43d34063c124",
   "match": "Paris Saint-Germain v Olympique Lyonnais",
   "match_url": "/football/matches/paris-saint-germain-vs-olympique-lyonnais-2026-10-26/",
   "kickoff": "2026-10-26T19:30:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 45.7,
   "market_code": "1x2",
   "author_said": "1X2, match result: Paris Saint-Germain at 1.36",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 4300,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.36",
   "settled_price": "1.4300",
   "published_at": "2026-10-24T21:33:12.000Z",
   "recorded_at": "2026-10-24T21:45:07.234Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "1.4300",
    "result": "Won",
    "points_hundredths": 4300,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-d81a72be627d43d34063c124",
    "quote_text": "PSG to win at 1.36 (9/25)",
    "fragment_from": 5130,
    "fragment_to": 5155,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/psg-vs-lyon-prediction-26-10-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "75a7779d9cc7aee474d946764bf1601cbdb5273af39ae951cd3c4f42ddf817c3",
     "material_removed": false
    },
    "published_at": "2026-10-24T21:33:12.000Z",
    "detected_at": "2026-10-24T21:45:07.234Z",
    "executed_at": "2026-10-26T15:39:01.918Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-4bf1ea244970",
     "display_name": "Paris Saint-Germain — Olympique Lyonnais",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-26T19:30:00.000Z",
     "url": "/football/matches/paris-saint-germain-vs-olympique-lyonnais-2026-10-26/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Paris Saint-Germain",
    "odds_set": {
     "by_author": "1.36",
     "our_snapshot": "1.4300",
     "our_snapshot_at": "2026-10-24T21:44:54.764Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 4300,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-24T21:33:12.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-24T21:33:12.000Z",
     "detected_at": "2026-10-24T21:45:07.234Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result",
     "choice": "Paris Saint-Germain",
     "author_odds": "1.36",
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Paris Saint-Germain at 1.36"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Paris Saint-Germain 2-0 Olympique Lyonnais."
    },
    "settlements": [
     {
      "operation_id": "63beedc51084e0e76d708e422400e0af163d3acd22e7eb20481b3e377874123d",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "Paris Saint-Germain",
      "decimal_odds": "1.36",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 3600,
      "executed_at": "2026-10-26T15:39:01.210Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "cf3bdb7b1bed2e15229a202c2f42d84d7cf4e2378a1241a224c2c0a20b38221e",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "Paris Saint-Germain",
      "decimal_odds": "1.4300",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 4300,
      "executed_at": "2026-10-26T15:39:01.918Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Joshua Cole",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Cole",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/psg-vs-lyon-prediction-26-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Paris Saint-Germain to win"
   }
  },
  {
   "record_id": "n-82a9f497481e4b0163317af7",
   "url": "/authors/joshua-cole/picks/6/#pick-n-82a9f497481e4b0163317af7",
   "match": "Jagiellonia v Anderlecht",
   "match_url": "/football/matches/jagiellonia-vs-anderlecht-2026-10-22/",
   "kickoff": "2026-10-22T19:00:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 48.8,
   "market_code": "double_chance",
   "author_said": "Double chance: draw or Anderlecht at 1.4",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "0-3",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 3745,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.4",
   "settled_price": "1.3745",
   "published_at": "2026-10-20T18:00:09.000Z",
   "recorded_at": "2026-10-20T18:14:21.089Z",
   "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-82a9f497481e4b0163317af7",
    "quote_text": "Anderlecht win or draw at 1.40 (5/2)",
    "fragment_from": 4310,
    "fragment_to": 4346,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/jagiellonia-bialystok-vs-anderlecht-prediction-22-10-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "045938441c5ba5d74eebc631f522cba4d6506611c3006903c16d5d189659c0c6",
     "material_removed": false
    },
    "published_at": "2026-10-20T18:00:09.000Z",
    "detected_at": "2026-10-20T18:14:21.089Z",
    "executed_at": "2026-10-27T02:22:07.224Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-7c076b290dd2",
     "display_name": "Jagiellonia — Anderlecht",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-10-22T19:00:00.000Z",
     "url": "/football/matches/jagiellonia-vs-anderlecht-2026-10-22/",
     "scoreline": "0-3",
     "condition": "finished"
    },
    "market_label": "Double chance",
    "outcome_label": "draw or Anderlecht",
    "odds_set": {
     "by_author": "1.4",
     "our_snapshot": "1.3745",
     "our_snapshot_at": "2026-10-20T18:12:49.975Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 3745,
    "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-20T18:00:09.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-20T18:00:09.000Z",
     "detected_at": "2026-10-20T18:14:21.089Z",
     "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": "Double chance",
     "choice": "draw or Anderlecht",
     "author_odds": "1.4",
     "market_key": "double_chance",
     "choice_key": "X2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Double chance: draw or Anderlecht at 1.4"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "0-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Jagiellonia 0-3 Anderlecht."
    },
    "settlements": [
     {
      "operation_id": "c3a6f03d8e95243bfe0729a55596666050fd0e0b27c33b986f4d0b5ec39fbbb3",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Double chance",
      "choice": "draw or Anderlecht",
      "decimal_odds": "1.4",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 4000,
      "executed_at": "2026-10-27T02:22:07.158Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "48dd5ecc0b376b40b39a24ad08d19a34c27f619096219f7aa1335a22ff4fa214",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Double chance",
      "choice": "draw or Anderlecht",
      "decimal_odds": "1.3745",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 3745,
      "executed_at": "2026-10-27T02:22:07.224Z",
      "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/jagiellonia-bialystok-vs-anderlecht-prediction-22-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "draw or Anderlecht"
   }
  },
  {
   "record_id": "n-2bda91fe7e42e02ea5f12610",
   "url": "/authors/joshua-cole/picks/6/#pick-n-2bda91fe7e42e02ea5f12610",
   "match": "Jagiellonia v Anderlecht",
   "match_url": "/football/matches/jagiellonia-vs-anderlecht-2026-10-22/",
   "kickoff": "2026-10-22T19:00:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 48.8,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 1.62",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "0-3",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.62",
   "settled_price": "1.6061",
   "published_at": "2026-10-20T18:00:09.000Z",
   "recorded_at": "2026-10-20T18:14:21.089Z",
   "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-2bda91fe7e42e02ea5f12610",
    "quote_text": "Both teams to score – Yes at 1.62 (5/8)",
    "fragment_from": 4369,
    "fragment_to": 4408,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/jagiellonia-bialystok-vs-anderlecht-prediction-22-10-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "045938441c5ba5d74eebc631f522cba4d6506611c3006903c16d5d189659c0c6",
     "material_removed": false
    },
    "published_at": "2026-10-20T18:00:09.000Z",
    "detected_at": "2026-10-20T18:14:21.089Z",
    "executed_at": "2026-11-07T08:59:12.145Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-7c076b290dd2",
     "display_name": "Jagiellonia — Anderlecht",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-10-22T19:00:00.000Z",
     "url": "/football/matches/jagiellonia-vs-anderlecht-2026-10-22/",
     "scoreline": "0-3",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "1.62",
     "our_snapshot": "1.6061",
     "our_snapshot_at": "2026-10-20T18:12:49.975Z",
     "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-20T18:00:09.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-20T18:00:09.000Z",
     "detected_at": "2026-10-20T18:14:21.089Z",
     "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.62",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 1.62"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Jagiellonia 0-3 Anderlecht."
    },
    "settlements": [
     {
      "operation_id": "61e8e1c1f6712fa6b952803f8c80076f6fa1959e5677006dae49861aa3c3fe15",
      "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.62",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T08:59:11.300Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "766dbc7baf6e577e2699f952c1c5e482ff57a41944cfd9ec2460a8bec41c6076",
      "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.6061",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T08:59:12.145Z",
      "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/jagiellonia-bialystok-vs-anderlecht-prediction-22-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-4a86fbaf44ab7aa26c1a23da",
   "url": "/authors/joshua-cole/picks/6/#pick-n-4a86fbaf44ab7aa26c1a23da",
   "match": "Union St. Gilloise v Hapoel Be'er Sheva",
   "match_url": "/football/matches/union-st-gilloise-vs-hapoel-be-er-sheva-2026-10-22/",
   "kickoff": "2026-10-22T16:45:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 46.5,
   "market_code": "1x2",
   "author_said": "1X2, match result: Union St. Gilloise at 1.54",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "4-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 3003,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.54",
   "settled_price": "1.3003",
   "published_at": "2026-10-20T18:00:06.000Z",
   "recorded_at": "2026-10-20T18:14:21.650Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "1.3003",
    "result": "Won",
    "points_hundredths": 3003,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-4a86fbaf44ab7aa26c1a23da",
    "quote_text": "> Union Saint-Gilloise to win at 1.54 (6/11) | Likelihood: High",
    "fragment_from": 4596,
    "fragment_to": 4659,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/union-saint-gilloise-vs-hapoel-beer-sheva-prediction-22-10-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "ef07b67ccc95177ed9ba10059ce4ed027dcdc7e6f2acf07bf5dfa647599c981c",
     "material_removed": false
    },
    "published_at": "2026-10-20T18:00:06.000Z",
    "detected_at": "2026-10-20T18:14:21.650Z",
    "executed_at": "2026-10-22T00:45:13.879Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-45db402e3921",
     "display_name": "Union St. Gilloise — Hapoel Be'er Sheva",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-10-22T16:45:00.000Z",
     "url": "/football/matches/union-st-gilloise-vs-hapoel-be-er-sheva-2026-10-22/",
     "scoreline": "4-0",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Union St. Gilloise",
    "odds_set": {
     "by_author": "1.54",
     "our_snapshot": "1.3003",
     "our_snapshot_at": "2026-10-20T18:12:49.975Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 3003,
    "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-20T18:00:06.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-20T18:00:06.000Z",
     "detected_at": "2026-10-20T18:14:21.650Z",
     "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": "Union St. Gilloise",
     "author_odds": "1.54",
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Union St. Gilloise at 1.54"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "4-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Union St. Gilloise 4-0 Hapoel Be'er Sheva."
    },
    "settlements": [
     {
      "operation_id": "2cc6c4b840ca4f0349c9278497773b20aeda763145f7f239cbc3af7f1e2108b7",
      "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": "Union St. Gilloise",
      "decimal_odds": "1.54",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5400,
      "executed_at": "2026-10-22T00:45:11.985Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "faafc02fe406943865d922a21bbd1fd308478c5a7566e1f97b9e59d71d1f708d",
      "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": "Union St. Gilloise",
      "decimal_odds": "1.3003",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 3003,
      "executed_at": "2026-10-22T00:45:13.879Z",
      "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/union-saint-gilloise-vs-hapoel-beer-sheva-prediction-22-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Union St. Gilloise to win"
   }
  },
  {
   "record_id": "n-90461073e1e4963a133127a2",
   "url": "/authors/joshua-cole/picks/6/#pick-n-90461073e1e4963a133127a2",
   "match": "Lille v Galatasaray",
   "match_url": "/football/matches/lille-vs-galatasaray-2026-10-21/",
   "kickoff": "2026-10-21T16:45:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 46.2,
   "market_code": "1x2",
   "author_said": "1X2, match result: Lille at 2.2",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-4",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "2.2",
   "settled_price": "2.1500",
   "published_at": "2026-10-19T18:25:57.000Z",
   "recorded_at": "2026-10-19T18:34:20.393Z",
   "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.1500",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-90461073e1e4963a133127a2",
    "quote_text": "> Lille to win at 6/5 (2.20)",
    "fragment_from": 4883,
    "fragment_to": 4911,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/lille-vs-galatasaray-prediction-21-10-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "0ba347f40aa43608fee4dbd5a662825b807cfe1dcaa84c400b24f0e8889b3289",
     "material_removed": false
    },
    "published_at": "2026-10-19T18:25:57.000Z",
    "detected_at": "2026-10-19T18:34:20.393Z",
    "executed_at": "2026-10-21T00:37:43.198Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-31ff7e2ddae8",
     "display_name": "Lille — Galatasaray",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-21T16:45:00.000Z",
     "url": "/football/matches/lille-vs-galatasaray-2026-10-21/",
     "scoreline": "2-4",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Lille",
    "odds_set": {
     "by_author": "2.2",
     "our_snapshot": "2.1500",
     "our_snapshot_at": "2026-10-19T18:32:51.661Z",
     "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-19T18:25:57.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-19T18:25:57.000Z",
     "detected_at": "2026-10-19T18:34:20.393Z",
     "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": "Lille",
     "author_odds": "2.2",
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Lille at 2.2"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-4",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Lille 2-4 Galatasaray."
    },
    "settlements": [
     {
      "operation_id": "cad594fae4711bac38a3f92ccd8a72be426da0508b33a435c01ece9ea1afaeee",
      "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": "Lille",
      "decimal_odds": "2.2",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-21T00:37:43.059Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "d81e4537cfd55336711526378e014dad7ae19d0aca03b1814785d988fef40fc5",
      "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": "Lille",
      "decimal_odds": "2.1500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-21T00:37:43.198Z",
      "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/lille-vs-galatasaray-prediction-21-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Lille to win"
   }
  },
  {
   "record_id": "n-6063c73a707ff81e3f058851",
   "url": "/authors/joshua-cole/picks/6/#pick-n-6063c73a707ff81e3f058851",
   "match": "Lille v Galatasaray",
   "match_url": "/football/matches/lille-vs-galatasaray-2026-10-21/",
   "kickoff": "2026-10-21T16:45:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 46.2,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 1.65",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-4",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 6500,
   "series_code": "author_price",
   "series_short": "author's odds",
   "author_price": "1.65",
   "settled_price": "1.65",
   "published_at": "2026-10-19T18:25:57.000Z",
   "recorded_at": "2026-10-19T18:34:20.393Z",
   "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-6063c73a707ff81e3f058851",
    "quote_text": "> Over 2.5 goals at 13/20 (1.65)",
    "fragment_from": 4830,
    "fragment_to": 4862,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/lille-vs-galatasaray-prediction-21-10-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "0ba347f40aa43608fee4dbd5a662825b807cfe1dcaa84c400b24f0e8889b3289",
     "material_removed": false
    },
    "published_at": "2026-10-19T18:25:57.000Z",
    "detected_at": "2026-10-19T18:34:20.393Z",
    "executed_at": "2026-11-07T06:47:37.910Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-31ff7e2ddae8",
     "display_name": "Lille — Galatasaray",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-21T16:45:00.000Z",
     "url": "/football/matches/lille-vs-galatasaray-2026-10-21/",
     "scoreline": "2-4",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": "1.65",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 6500,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At the author's stated price",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-19T18:25:57.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-19T18:25:57.000Z",
     "detected_at": "2026-10-19T18:34:20.393Z",
     "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.65",
     "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.65"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-4",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Lille 2-4 Galatasaray."
    },
    "settlements": [
     {
      "operation_id": "7b4b262c7309d8d69fe6351eb3eb326131afb8ac8d4f93cfdcf3c915ff674013",
      "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.65",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 6500,
      "executed_at": "2026-11-07T06:47:37.910Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "2b746c19dd5f013b184a8745e795f02053ec373c582227ba7060fd41b8417070",
      "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": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "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/lille-vs-galatasaray-prediction-21-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "over 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-e0a18aa4d1ab46962c293d10",
   "url": "/authors/joshua-cole/picks/6/#pick-n-e0a18aa4d1ab46962c293d10",
   "match": "Lille v Galatasaray",
   "match_url": "/football/matches/lille-vs-galatasaray-2026-10-21/",
   "kickoff": "2026-10-21T16:45:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 46.2,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 1.57",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-4",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 5263,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.57",
   "settled_price": "1.5263",
   "published_at": "2026-10-19T18:25:57.000Z",
   "recorded_at": "2026-10-19T18:34:20.393Z",
   "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.5263",
    "result": "Won",
    "points_hundredths": 5263,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-e0a18aa4d1ab46962c293d10",
    "quote_text": "> Both teams to score – Yes at 4/7 (1.57)",
    "fragment_from": 4768,
    "fragment_to": 4809,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/lille-vs-galatasaray-prediction-21-10-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "0ba347f40aa43608fee4dbd5a662825b807cfe1dcaa84c400b24f0e8889b3289",
     "material_removed": false
    },
    "published_at": "2026-10-19T18:25:57.000Z",
    "detected_at": "2026-10-19T18:34:20.393Z",
    "executed_at": "2026-10-21T00:37:42.996Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-31ff7e2ddae8",
     "display_name": "Lille — Galatasaray",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-21T16:45:00.000Z",
     "url": "/football/matches/lille-vs-galatasaray-2026-10-21/",
     "scoreline": "2-4",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "1.57",
     "our_snapshot": "1.5263",
     "our_snapshot_at": "2026-10-19T18:32:51.661Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 5263,
    "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-19T18:25:57.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-19T18:25:57.000Z",
     "detected_at": "2026-10-19T18:34:20.393Z",
     "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.57",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 1.57"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-4",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Lille 2-4 Galatasaray."
    },
    "settlements": [
     {
      "operation_id": "fd569f024e5805a79edf7611e9f42ca08874b58acf8bb583e44a2662b64c9abe",
      "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.57",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5700,
      "executed_at": "2026-10-21T00:37:42.553Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "43b657b0769691c3676048a31f7673554cbbcab38f9e8090b1e0bb386e57b115",
      "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.5263",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5263,
      "executed_at": "2026-10-21T00:37:42.996Z",
      "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/lille-vs-galatasaray-prediction-21-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-75fd3b2344eca426a0724e9b",
   "url": "/authors/joshua-cole/picks/6/#pick-n-75fd3b2344eca426a0724e9b",
   "match": "Fenerbahçe v SK Slavia Praha",
   "match_url": "/football/matches/fenerbahce-vs-sk-slavia-praha-2026-10-20/",
   "kickoff": "2026-10-20T16:45:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 50.8,
   "market_code": "1x2",
   "author_said": "1X2, match result: Fenerbahçe at 1.65",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.65",
   "settled_price": "1.6667",
   "published_at": "2026-10-18T13:46:20.000Z",
   "recorded_at": "2026-10-18T13:54:13.252Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "1.6667",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-75fd3b2344eca426a0724e9b",
    "quote_text": "Fenerbahce to win at 13/20 (1.65)",
    "fragment_from": 4590,
    "fragment_to": 4623,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/fenerbahce-vs-slavia-prague-prediction-20-10-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "bcb7522667443acb744d8d8326cab120cf4628bfb8e85ff8a02c2b2c5bf2db2f",
     "material_removed": false
    },
    "published_at": "2026-10-18T13:46:20.000Z",
    "detected_at": "2026-10-18T13:54:13.252Z",
    "executed_at": "2026-10-19T06:43:26.402Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-a3e3d14ee503",
     "display_name": "Fenerbahçe — SK Slavia Praha",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-20T16:45:00.000Z",
     "url": "/football/matches/fenerbahce-vs-sk-slavia-praha-2026-10-20/",
     "scoreline": "2-2",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Fenerbahçe",
    "odds_set": {
     "by_author": "1.65",
     "our_snapshot": "1.6667",
     "our_snapshot_at": "2026-10-18T13:54:09.079Z",
     "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-18T13:46:20.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-18T13:46:20.000Z",
     "detected_at": "2026-10-18T13:54:13.252Z",
     "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": "Fenerbahçe",
     "author_odds": "1.65",
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Fenerbahçe at 1.65"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Fenerbahçe 2-2 SK Slavia Praha."
    },
    "settlements": [
     {
      "operation_id": "3819b29f6329ba7ec3b1923e0aec1679da7687ea509590848dd25862ad094174",
      "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": "Fenerbahçe",
      "decimal_odds": "1.65",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-19T06:43:26.369Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "ebf5ee2f020641223e13bb54fae758f03a476b575b5a921757541f34f92de0cb",
      "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": "Fenerbahçe",
      "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-10-19T06:43:26.402Z",
      "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/fenerbahce-vs-slavia-prague-prediction-20-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Fenerbahçe to win"
   }
  },
  {
   "record_id": "n-8c8acc7e8fe7277d31e227cf",
   "url": "/authors/joshua-cole/picks/6/#pick-n-8c8acc7e8fe7277d31e227cf",
   "match": "Fenerbahçe v SK Slavia Praha",
   "match_url": "/football/matches/fenerbahce-vs-sk-slavia-praha-2026-10-20/",
   "kickoff": "2026-10-20T16:45:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 50.8,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 1.62",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 6400,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.62",
   "settled_price": "1.6400",
   "published_at": "2026-10-18T13:46:20.000Z",
   "recorded_at": "2026-10-18T13:54:13.252Z",
   "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-8c8acc7e8fe7277d31e227cf",
    "quote_text": "Over 2.5 goals at 8/13 (1.62)",
    "fragment_from": 4538,
    "fragment_to": 4567,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/fenerbahce-vs-slavia-prague-prediction-20-10-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "bcb7522667443acb744d8d8326cab120cf4628bfb8e85ff8a02c2b2c5bf2db2f",
     "material_removed": false
    },
    "published_at": "2026-10-18T13:46:20.000Z",
    "detected_at": "2026-10-18T13:54:13.252Z",
    "executed_at": "2026-10-22T11:55:53.635Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-a3e3d14ee503",
     "display_name": "Fenerbahçe — SK Slavia Praha",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-20T16:45:00.000Z",
     "url": "/football/matches/fenerbahce-vs-sk-slavia-praha-2026-10-20/",
     "scoreline": "2-2",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": "1.62",
     "our_snapshot": "1.6400",
     "our_snapshot_at": "2026-10-18T13:50:36.000Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 6400,
    "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-18T13:46:20.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-18T13:46:20.000Z",
     "detected_at": "2026-10-18T13:54:13.252Z",
     "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.62",
     "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.62"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Fenerbahçe 2-2 SK Slavia Praha."
    },
    "settlements": [
     {
      "operation_id": "b850b07ba843ff44c06dbcfe8c85d57acd3400c580c67b714887b479c4a66a6a",
      "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.62",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 6200,
      "executed_at": "2026-10-19T06:43:26.473Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "1cecb7612f9ff14c740de08f0f40fe9132d87ec02003a14ed79cda05fd298987",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": "1.6400",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 6400,
      "executed_at": "2026-10-22T11:55:53.635Z",
      "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/fenerbahce-vs-slavia-prague-prediction-20-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "over 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-25cab85405dbcf0f3f381bd5",
   "url": "/authors/joshua-cole/picks/6/#pick-n-25cab85405dbcf0f3f381bd5",
   "match": "Fenerbahçe v SK Slavia Praha",
   "match_url": "/football/matches/fenerbahce-vs-sk-slavia-praha-2026-10-20/",
   "kickoff": "2026-10-20T16:45:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 50.8,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 1.67",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 6494,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.67",
   "settled_price": "1.6494",
   "published_at": "2026-10-18T13:46:20.000Z",
   "recorded_at": "2026-10-18T13:54:13.252Z",
   "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-25cab85405dbcf0f3f381bd5",
    "quote_text": "Both teams to score at 2/3 (1.67)",
    "fragment_from": 4646,
    "fragment_to": 4679,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/fenerbahce-vs-slavia-prague-prediction-20-10-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "bcb7522667443acb744d8d8326cab120cf4628bfb8e85ff8a02c2b2c5bf2db2f",
     "material_removed": false
    },
    "published_at": "2026-10-18T13:46:20.000Z",
    "detected_at": "2026-10-18T13:54:13.252Z",
    "executed_at": "2026-11-07T04:37:24.269Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-a3e3d14ee503",
     "display_name": "Fenerbahçe — SK Slavia Praha",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-20T16:45:00.000Z",
     "url": "/football/matches/fenerbahce-vs-sk-slavia-praha-2026-10-20/",
     "scoreline": "2-2",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "1.67",
     "our_snapshot": "1.6494",
     "our_snapshot_at": "2026-10-18T13:54:09.079Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 6494,
    "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-18T13:46:20.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-18T13:46:20.000Z",
     "detected_at": "2026-10-18T13:54:13.252Z",
     "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.67",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 1.67"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Fenerbahçe 2-2 SK Slavia Praha."
    },
    "settlements": [
     {
      "operation_id": "c1372c7fbcf1d616605aef158bfdb99f27e2494aace00cc9c372079b765d6556",
      "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.67",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 6700,
      "executed_at": "2026-11-07T04:37:22.421Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "085a31bc92dd976addde8276f8688318293d1f13ee84693d5ff09d1184dc74f3",
      "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.6494",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 6494,
      "executed_at": "2026-11-07T04:37:24.269Z",
      "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/fenerbahce-vs-slavia-prague-prediction-20-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-9281d96d33efadb40cada8eb",
   "url": "/authors/joshua-cole/picks/5/#pick-n-9281d96d33efadb40cada8eb",
   "match": "Angers v Olympique de Marseille",
   "match_url": "/football/matches/angers-vs-olympique-de-marseille-2026-10-18/",
   "kickoff": "2026-10-18T13:00:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 49.3,
   "market_code": "result_and_total",
   "author_said": "Match result and over/under 3.5 goals: Olympique de Marseille to win and under 3.5 goals at 2.2",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-5",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "author_price",
   "series_short": "author's odds",
   "author_price": "2.2",
   "settled_price": "2.2",
   "published_at": "2026-10-16T11:38:36.000Z",
   "recorded_at": "2026-10-16T11:44:15.531Z",
   "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-9281d96d33efadb40cada8eb",
    "quote_text": "> Marseille to win & under 3.5 goals at 11/5 (2.20) | Likelihood: Medium",
    "fragment_from": 4572,
    "fragment_to": 4644,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/angers-vs-marseille-prediction-18-10-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "50b8d08080d0f18059305d00e099e91ad8970c22b5e158c87e668c816418f33a",
     "material_removed": false
    },
    "published_at": "2026-10-16T11:38:36.000Z",
    "detected_at": "2026-10-16T11:44:15.531Z",
    "executed_at": "2026-10-16T13:54:48.880Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-e82f849606a1",
     "display_name": "Angers — Olympique de Marseille",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-18T13:00:00.000Z",
     "url": "/football/matches/angers-vs-olympique-de-marseille-2026-10-18/",
     "scoreline": "2-5",
     "condition": "finished"
    },
    "market_label": "Match result and over/under 3.5 goals",
    "outcome_label": "Olympique de Marseille to win and under 3.5 goals",
    "odds_set": {
     "by_author": "2.2",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At the author's stated price",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-16T11:38:36.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-16T11:38:36.000Z",
     "detected_at": "2026-10-16T11:44:15.531Z",
     "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": "Match result and over/under 3.5 goals",
     "choice": "Olympique de Marseille to win and under 3.5 goals",
     "author_odds": "2.2",
     "market_key": "result_and_total",
     "choice_key": "2-under",
     "period": "match",
     "line": "3.5",
     "subject": "goals_total",
     "in_words": "Match result and over/under 3.5 goals: Olympique de Marseille to win and under 3.5 goals at 2.2"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-5",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Angers 2-5 Olympique de Marseille."
    },
    "settlements": [
     {
      "operation_id": "a987d68c8577b8af93c53fd4c5f235c282547abb50ccdca391cdff910cb5a128",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Match result and over/under 3.5 goals",
      "choice": "Olympique de Marseille to win and under 3.5 goals",
      "decimal_odds": "2.2",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-16T13:54:48.880Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "ba3edbcd9056383a000bb68feeb537df0f7b74660a38c1f4d5a63210fa8364f7",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Match result and over/under 3.5 goals",
      "choice": "Olympique de Marseille to win and under 3.5 goals",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "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/angers-vs-marseille-prediction-18-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Olympique de Marseille to win and under 3.5 goals"
   }
  },
  {
   "record_id": "n-66c0b8e5b6ca964e0c046cec",
   "url": "/authors/joshua-cole/picks/5/#pick-n-66c0b8e5b6ca964e0c046cec",
   "match": "Angers v Olympique de Marseille",
   "match_url": "/football/matches/angers-vs-olympique-de-marseille-2026-10-18/",
   "kickoff": "2026-10-18T13:00:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 49.3,
   "market_code": "1x2",
   "author_said": "1X2, match result: Olympique de Marseille at 2",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-5",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 10800,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "2",
   "settled_price": "2.0800",
   "published_at": "2026-10-16T11:38:36.000Z",
   "recorded_at": "2026-10-16T11:44:15.531Z",
   "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": "2",
    "price": "2.0800",
    "result": "Won",
    "points_hundredths": 10800,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-66c0b8e5b6ca964e0c046cec",
    "quote_text": "> Marseille to win at 1/1 (2.00) | Likelihood: Medium",
    "fragment_from": 4517,
    "fragment_to": 4570,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/angers-vs-marseille-prediction-18-10-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "50b8d08080d0f18059305d00e099e91ad8970c22b5e158c87e668c816418f33a",
     "material_removed": false
    },
    "published_at": "2026-10-16T11:38:36.000Z",
    "detected_at": "2026-10-16T11:44:15.531Z",
    "executed_at": "2026-10-16T13:53:35.803Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-e82f849606a1",
     "display_name": "Angers — Olympique de Marseille",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-18T13:00:00.000Z",
     "url": "/football/matches/angers-vs-olympique-de-marseille-2026-10-18/",
     "scoreline": "2-5",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Olympique de Marseille",
    "odds_set": {
     "by_author": "2",
     "our_snapshot": "2.0800",
     "our_snapshot_at": "2026-10-16T11:44:25.429Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 10800,
    "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-16T11:38:36.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-16T11:38:36.000Z",
     "detected_at": "2026-10-16T11:44:15.531Z",
     "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": "Olympique de Marseille",
     "author_odds": "2",
     "market_key": "1x2",
     "choice_key": "2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Olympique de Marseille at 2"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-5",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Angers 2-5 Olympique de Marseille."
    },
    "settlements": [
     {
      "operation_id": "fe66a9e2738f0318d009a5d5a695c0094ea8c0f8f9c0647a5e6384a47b0eb237",
      "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": "Olympique de Marseille",
      "decimal_odds": "2",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 10000,
      "executed_at": "2026-10-16T13:53:34.069Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "88a60981ea528a8e6e1cf811eb3527d08a7b8c2c6a2631f7adada82338e1b7fa",
      "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": "Olympique de Marseille",
      "decimal_odds": "2.0800",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 10800,
      "executed_at": "2026-10-16T13:53:35.803Z",
      "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/angers-vs-marseille-prediction-18-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Olympique de Marseille to win"
   }
  },
  {
   "record_id": "n-75304b6879a9c0cb3955c434",
   "url": "/authors/joshua-cole/picks/5/#pick-n-75304b6879a9c0cb3955c434",
   "match": "Angers v Olympique de Marseille",
   "match_url": "/football/matches/angers-vs-olympique-de-marseille-2026-10-18/",
   "kickoff": "2026-10-18T13:00:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 49.3,
   "market_code": "total",
   "author_said": "Over/Under 3.5 goals: under 3.5 at 1.53",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-5",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "author_price",
   "series_short": "author's odds",
   "author_price": "1.53",
   "settled_price": "1.53",
   "published_at": "2026-10-16T11:38:36.000Z",
   "recorded_at": "2026-10-16T11:44:15.531Z",
   "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-75304b6879a9c0cb3955c434",
    "quote_text": "> Under 3.5 goals at 8/15 (1.53) | Likelihood: High",
    "fragment_from": 4464,
    "fragment_to": 4515,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/angers-vs-marseille-prediction-18-10-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "50b8d08080d0f18059305d00e099e91ad8970c22b5e158c87e668c816418f33a",
     "material_removed": false
    },
    "published_at": "2026-10-16T11:38:36.000Z",
    "detected_at": "2026-10-16T11:44:15.531Z",
    "executed_at": "2026-10-16T13:54:46.144Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-e82f849606a1",
     "display_name": "Angers — Olympique de Marseille",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-18T13:00:00.000Z",
     "url": "/football/matches/angers-vs-olympique-de-marseille-2026-10-18/",
     "scoreline": "2-5",
     "condition": "finished"
    },
    "market_label": "Over/Under 3.5 goals",
    "outcome_label": "under 3.5",
    "odds_set": {
     "by_author": "1.53",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At the author's stated price",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-16T11:38:36.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-16T11:38:36.000Z",
     "detected_at": "2026-10-16T11:44:15.531Z",
     "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 3.5 goals",
     "choice": "under 3.5",
     "author_odds": "1.53",
     "market_key": "total",
     "choice_key": "under",
     "period": "match",
     "line": "3.5",
     "subject": "goals_total",
     "in_words": "Over/Under 3.5 goals: under 3.5 at 1.53"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-5",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Angers 2-5 Olympique de Marseille."
    },
    "settlements": [
     {
      "operation_id": "7a41e6b6c41a2590a2e20ba6b875aa60968f85b43b20081de2a49149656fd03d",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 3.5 goals",
      "choice": "under 3.5",
      "decimal_odds": "1.53",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-16T13:54:46.144Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "6112df2af16f5fb643254f8f3eda5bcb779b1482b33c623d2542f25b87466764",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 3.5 goals",
      "choice": "under 3.5",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "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/angers-vs-marseille-prediction-18-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "under 3.5 (Over/Under 3.5 goals)"
   }
  },
  {
   "record_id": "n-167c0cbde8c85e9e1d1912ea",
   "url": "/authors/joshua-cole/picks/5/#pick-n-167c0cbde8c85e9e1d1912ea",
   "match": "Aston Villa v Fenerbahçe",
   "match_url": "/football/matches/aston-villa-vs-fenerbahce-2026-10-14/",
   "kickoff": "2026-10-14T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 53.9,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 1.84",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "6-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 8400,
   "series_code": "author_price",
   "series_short": "author's odds",
   "author_price": "1.84",
   "settled_price": "1.84",
   "published_at": "2026-10-12T12:57:09.000Z",
   "recorded_at": "2026-10-12T13:04:16.699Z",
   "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-167c0cbde8c85e9e1d1912ea",
    "quote_text": "> Over 2.5 goals at 5/6 (1.84) | Likelihood: Medium",
    "fragment_from": 4994,
    "fragment_to": 5045,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/aston-villa-vs-fenerbahce-prediction-14-10-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "afd43a485de65c35d015e32e7b9d9e9ae157102bd238bb3fa06886ddb6fcc7c5",
     "material_removed": false
    },
    "published_at": "2026-10-12T12:57:09.000Z",
    "detected_at": "2026-10-12T13:04:16.699Z",
    "executed_at": "2026-11-06T22:32:27.633Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-51292fa0ec5c",
     "display_name": "Aston Villa — Fenerbahçe",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-14T19:00:00.000Z",
     "url": "/football/matches/aston-villa-vs-fenerbahce-2026-10-14/",
     "scoreline": "6-0",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": "1.84",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 8400,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At the author's stated price",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-12T12:57:09.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-12T12:57:09.000Z",
     "detected_at": "2026-10-12T13:04:16.699Z",
     "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.84",
     "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.84"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "6-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Aston Villa 6-0 Fenerbahçe."
    },
    "settlements": [
     {
      "operation_id": "1c81768a8be3035ec7e177010267a752ab8560bf7f227015584abbc9539d95de",
      "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.84",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 8400,
      "executed_at": "2026-11-06T22:32:27.633Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "80ab469f4e259cd3c413d679929f3d52b42dbc77cb765f29786485fe64808418",
      "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": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "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/aston-villa-vs-fenerbahce-prediction-14-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "over 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-47435ebdd2203b1578d3996b",
   "url": "/authors/joshua-cole/picks/5/#pick-n-47435ebdd2203b1578d3996b",
   "match": "Aston Villa v Fenerbahçe",
   "match_url": "/football/matches/aston-villa-vs-fenerbahce-2026-10-14/",
   "kickoff": "2026-10-14T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 53.9,
   "market_code": "1x2",
   "author_said": "1X2, match result: Aston Villa at 1.73",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "6-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 6494,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.73",
   "settled_price": "1.6494",
   "published_at": "2026-10-12T12:57:09.000Z",
   "recorded_at": "2026-10-12T13:04:16.699Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "1.6494",
    "result": "Won",
    "points_hundredths": 6494,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-47435ebdd2203b1578d3996b",
    "quote_text": "> Aston Villa to win at 8/11 (1.73) | Likelihood: Medium",
    "fragment_from": 4936,
    "fragment_to": 4992,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/aston-villa-vs-fenerbahce-prediction-14-10-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "afd43a485de65c35d015e32e7b9d9e9ae157102bd238bb3fa06886ddb6fcc7c5",
     "material_removed": false
    },
    "published_at": "2026-10-12T12:57:09.000Z",
    "detected_at": "2026-10-12T13:04:16.699Z",
    "executed_at": "2026-10-18T07:08:00.368Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-51292fa0ec5c",
     "display_name": "Aston Villa — Fenerbahçe",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-14T19:00:00.000Z",
     "url": "/football/matches/aston-villa-vs-fenerbahce-2026-10-14/",
     "scoreline": "6-0",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Aston Villa",
    "odds_set": {
     "by_author": "1.73",
     "our_snapshot": "1.6494",
     "our_snapshot_at": "2026-10-12T13:01:34.335Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 6494,
    "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-12T12:57:09.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-12T12:57:09.000Z",
     "detected_at": "2026-10-12T13:04:16.699Z",
     "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": "Aston Villa",
     "author_odds": "1.73",
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Aston Villa at 1.73"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "6-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Aston Villa 6-0 Fenerbahçe."
    },
    "settlements": [
     {
      "operation_id": "925e276958e2be17f99f10dd641dd15ee051df6fc70ada71644fd9e49d004a78",
      "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": "Aston Villa",
      "decimal_odds": "1.73",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 7300,
      "executed_at": "2026-10-18T07:07:59.783Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "95f52a19248ce24445452836b586311bb016fafb5a796037d03a215f851aabe0",
      "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": "Aston Villa",
      "decimal_odds": "1.6494",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 6494,
      "executed_at": "2026-10-18T07:08:00.368Z",
      "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/aston-villa-vs-fenerbahce-prediction-14-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Aston Villa to win"
   }
  },
  {
   "record_id": "n-7d7753b55fd2d01b3f70203d",
   "url": "/authors/joshua-cole/picks/5/#pick-n-7d7753b55fd2d01b3f70203d",
   "match": "Aston Villa v Fenerbahçe",
   "match_url": "/football/matches/aston-villa-vs-fenerbahce-2026-10-14/",
   "kickoff": "2026-10-14T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 53.9,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 1.65",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "6-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.65",
   "settled_price": "1.6452",
   "published_at": "2026-10-12T12:57:09.000Z",
   "recorded_at": "2026-10-12T13:04:16.699Z",
   "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.6452",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-7d7753b55fd2d01b3f70203d",
    "quote_text": "> Both teams to score at 13/20 (1.65) | Likelihood: High",
    "fragment_from": 4878,
    "fragment_to": 4934,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/aston-villa-vs-fenerbahce-prediction-14-10-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "afd43a485de65c35d015e32e7b9d9e9ae157102bd238bb3fa06886ddb6fcc7c5",
     "material_removed": false
    },
    "published_at": "2026-10-12T12:57:09.000Z",
    "detected_at": "2026-10-12T13:04:16.699Z",
    "executed_at": "2026-10-18T07:08:00.988Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-51292fa0ec5c",
     "display_name": "Aston Villa — Fenerbahçe",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-14T19:00:00.000Z",
     "url": "/football/matches/aston-villa-vs-fenerbahce-2026-10-14/",
     "scoreline": "6-0",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "1.65",
     "our_snapshot": "1.6452",
     "our_snapshot_at": "2026-10-12T13:01:34.335Z",
     "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-12T12:57:09.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-12T12:57:09.000Z",
     "detected_at": "2026-10-12T13:04:16.699Z",
     "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.65",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 1.65"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "6-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Aston Villa 6-0 Fenerbahçe."
    },
    "settlements": [
     {
      "operation_id": "699882877094f9fb0feede224d794d85f155f1540cca411c2ac91929c7119567",
      "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.65",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-18T07:08:00.432Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "7a967deb16d37501ecac347c7b1561a107805dbfe8caaffa1d2bd5d1284e141f",
      "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.6452",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-18T07:08:00.988Z",
      "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/aston-villa-vs-fenerbahce-prediction-14-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-faea30e522b276b91341a356",
   "url": "/authors/joshua-cole/picks/4/#pick-n-faea30e522b276b91341a356",
   "match": "RC Lens v Olympique Lyonnais",
   "match_url": "/football/matches/rc-lens-vs-olympique-lyonnais-2026-10-09/",
   "kickoff": "2026-10-09T18:45:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 52.7,
   "market_code": "1x2",
   "author_said": "1X2, match result: Olympique Lyonnais at 2.75",
   "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.75",
   "settled_price": "2.6500",
   "published_at": "2026-10-07T13:27:23.000Z",
   "recorded_at": "2026-10-07T14:05:36.146Z",
   "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.3800",
    "result": "Won",
    "points_hundredths": 13800,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-faea30e522b276b91341a356",
    "quote_text": "Lyon win at 7/4 (2.75)",
    "fragment_from": 4154,
    "fragment_to": 4176,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/lens-vs-lyon-prediction-09-10-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "5e68ef39196a093ca651e3ea9e4c82f73daedf8fbc5ee7dbb7c24a81cb7d8585",
     "material_removed": false
    },
    "published_at": "2026-10-07T13:27:23.000Z",
    "detected_at": "2026-10-07T14:05:36.146Z",
    "executed_at": "2026-10-10T23:35:09.896Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-8671e54fe987",
     "display_name": "RC Lens — Olympique Lyonnais",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-09T18:45:00.000Z",
     "url": "/football/matches/rc-lens-vs-olympique-lyonnais-2026-10-09/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Olympique Lyonnais",
    "odds_set": {
     "by_author": "2.75",
     "our_snapshot": "2.6500",
     "our_snapshot_at": "2026-10-07T14:08:17.707Z",
     "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-07T13:27:23.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-07T13:27:23.000Z",
     "detected_at": "2026-10-07T14:05:36.146Z",
     "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": "Olympique Lyonnais",
     "author_odds": "2.75",
     "market_key": "1x2",
     "choice_key": "2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Olympique Lyonnais at 2.75"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was RC Lens 2-1 Olympique Lyonnais."
    },
    "settlements": [
     {
      "operation_id": "05debc4e61bb6a374926086c2a39d74111e448aeeaf840b06106af05545c6fe4",
      "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": "Olympique Lyonnais",
      "decimal_odds": "2.75",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-07T20:28:04.291Z",
      "methodology_version": "2.1",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "89e46ea122c4b5ac65e9b760484b371069b55da57cdc9c635437323dd24c4934",
      "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": "Olympique Lyonnais",
      "decimal_odds": "2.6500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-10T23:35:09.896Z",
      "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/lens-vs-lyon-prediction-09-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Olympique Lyonnais to win"
   }
  },
  {
   "record_id": "n-caf6620023020461d08e4924",
   "url": "/authors/joshua-cole/picks/4/#pick-n-caf6620023020461d08e4924",
   "match": "RC Lens v Olympique Lyonnais",
   "match_url": "/football/matches/rc-lens-vs-olympique-lyonnais-2026-10-09/",
   "kickoff": "2026-10-09T18:45:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 52.7,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 1.64",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 5400,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.64",
   "settled_price": "1.5400",
   "published_at": "2026-10-07T13:27:23.000Z",
   "recorded_at": "2026-10-07T14:05:36.146Z",
   "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-caf6620023020461d08e4924",
    "quote_text": "Over 2.5 goals at 8/13 (1.64)",
    "fragment_from": 4100,
    "fragment_to": 4129,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/lens-vs-lyon-prediction-09-10-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "5e68ef39196a093ca651e3ea9e4c82f73daedf8fbc5ee7dbb7c24a81cb7d8585",
     "material_removed": false
    },
    "published_at": "2026-10-07T13:27:23.000Z",
    "detected_at": "2026-10-07T14:05:36.146Z",
    "executed_at": "2026-10-22T12:23:32.329Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-8671e54fe987",
     "display_name": "RC Lens — Olympique Lyonnais",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-09T18:45:00.000Z",
     "url": "/football/matches/rc-lens-vs-olympique-lyonnais-2026-10-09/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": "1.64",
     "our_snapshot": "1.5400",
     "our_snapshot_at": "2026-10-07T14:05:36.000Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 5400,
    "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-07T13:27:23.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-07T13:27:23.000Z",
     "detected_at": "2026-10-07T14:05:36.146Z",
     "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.64",
     "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.64"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was RC Lens 2-1 Olympique Lyonnais."
    },
    "settlements": [
     {
      "operation_id": "652d55900f8469250e1e6ed75de504754ffead8b03a84218c62fa165e08a08f9",
      "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.64",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 6400,
      "executed_at": "2026-10-07T20:28:04.233Z",
      "methodology_version": "2.1",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "6c0b1863c354088b2b33564afa5c2792b96ab5684b81dba70a673e4626ead339",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": "1.5400",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5400,
      "executed_at": "2026-10-22T12:23:32.329Z",
      "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/lens-vs-lyon-prediction-09-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "over 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-1dfe22b5c9d654a9c9db0060",
   "url": "/authors/joshua-cole/picks/4/#pick-n-1dfe22b5c9d654a9c9db0060",
   "match": "RC Lens v Olympique Lyonnais",
   "match_url": "/football/matches/rc-lens-vs-olympique-lyonnais-2026-10-09/",
   "kickoff": "2026-10-09T18:45:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 52.7,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 1.5",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 5000,
   "series_code": "author_price",
   "series_short": "author's odds",
   "author_price": "1.5",
   "settled_price": "1.5",
   "published_at": "2026-10-07T13:27:23.000Z",
   "recorded_at": "2026-10-07T14:05:36.146Z",
   "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-1dfe22b5c9d654a9c9db0060",
    "quote_text": "Both teams to score at 1/2 (1.50)",
    "fragment_from": 4044,
    "fragment_to": 4077,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/lens-vs-lyon-prediction-09-10-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "5e68ef39196a093ca651e3ea9e4c82f73daedf8fbc5ee7dbb7c24a81cb7d8585",
     "material_removed": false
    },
    "published_at": "2026-10-07T13:27:23.000Z",
    "detected_at": "2026-10-07T14:05:36.146Z",
    "executed_at": "2026-10-07T20:28:04.176Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-8671e54fe987",
     "display_name": "RC Lens — Olympique Lyonnais",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-09T18:45:00.000Z",
     "url": "/football/matches/rc-lens-vs-olympique-lyonnais-2026-10-09/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "1.5",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 5000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At the author's stated price",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-07T13:27:23.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-07T13:27:23.000Z",
     "detected_at": "2026-10-07T14:05:36.146Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Both teams to score",
     "choice": "yes",
     "author_odds": "1.5",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 1.5"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was RC Lens 2-1 Olympique Lyonnais."
    },
    "settlements": [
     {
      "operation_id": "59b71e6d64e662bc76ab8254968f4d1092b443bdbb88e64f02d688b1e40fc04a",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.5",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5000,
      "executed_at": "2026-10-07T20:28:04.176Z",
      "methodology_version": "2.1",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "bd9748f7c9a87137559132af91ce7b74338074f9913958106c5bd58f5fa0d355",
      "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": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "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/lens-vs-lyon-prediction-09-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-690970c9a5826a66f5c9f048",
   "url": "/authors/joshua-cole/picks/10/#pick-n-690970c9a5826a66f5c9f048",
   "match": "Beşiktaş v Gençlerbirliği",
   "match_url": "/football/matches/besiktas-vs-genclerbirligi-2026-11-08/",
   "kickoff": "2026-11-08T18:00:00.000Z",
   "competition": "Süper Lig",
   "lead_hours": 46.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Beşiktaş 3-1 Gençlerbirliği",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-11-06T18:57:03.000Z",
   "recorded_at": "2026-11-06T19:10:46.884Z",
   "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-690970c9a5826a66f5c9f048",
    "quote_text": "We say: Besiktas 3-1 Genclerbirligi",
    "fragment_from": 4136,
    "fragment_to": 4171,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/besiktas/preview/besiktas-vs-genclerbirligi-prediction-team-news-lineups_608630.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "ee63e794a80ac3318e3fd4afa2a515ad16703478ec71223220daa046250bc23c",
     "material_removed": false
    },
    "published_at": "2026-11-06T18:57:03.000Z",
    "detected_at": "2026-11-06T19:10:46.884Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-f2b65a61abd8",
     "display_name": "Beşiktaş — Gençlerbirliği",
     "competition_name": "Süper Lig",
     "starts_at": "2026-11-08T18:00:00.000Z",
     "url": "/football/matches/besiktas-vs-genclerbirligi-2026-11-08/",
     "scoreline": null,
     "condition": "scheduled"
    },
    "market_label": "Correct score",
    "outcome_label": "Beşiktaş 3-1 Gençlerbirliği",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "unknown",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-11-06T18:57:03.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-06T18:57:03.000Z",
     "detected_at": "2026-11-06T19:10:46.884Z",
     "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ş 3-1 Gençlerbirliği",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "3-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Beşiktaş 3-1 Gençlerbirliği"
    },
    "author_claim_outcome": {
     "result": "unknown",
     "scoreline": null,
     "data_status": "unknown",
     "cause": "kick-off 8 November 2026, 18:00 UTC",
     "methodology_version": "2.2",
     "in_words": "Pending: kick-off 8 November 2026, 18:00 UTC."
    },
    "settlements": [
     {
      "operation_id": "bd30de4f98b06898951918a3299264079f03723b0d548ceb53a735563d4fd4e6",
      "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.2100",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": "2026-11-06T19:18:09.392Z",
      "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-genclerbirligi-prediction-team-news-lineups_608630.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Beşiktaş 3-1 Gençlerbirliği"
   }
  },
  {
   "record_id": "n-1c0c4e89e2e8394ea0b872f3",
   "url": "/authors/joshua-cole/picks/10/#pick-n-1c0c4e89e2e8394ea0b872f3",
   "match": "Alanyaspor v Trabzonspor",
   "match_url": "/football/matches/alanyaspor-vs-trabzonspor-2026-11-08/",
   "kickoff": "2026-11-08T15:30:00.000Z",
   "competition": "Süper Lig",
   "lead_hours": 44.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Alanyaspor 1-2 Trabzonspor",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-11-06T18:56:43.000Z",
   "recorded_at": "2026-11-06T19:10:48.911Z",
   "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-1c0c4e89e2e8394ea0b872f3",
    "quote_text": "We say: Alanyaspor 1-2 Trabzonspor",
    "fragment_from": 4734,
    "fragment_to": 4768,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/alanyaspor/preview/alanyaspor-vs-trabzonspor-prediction-team-news-lineups_608629.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "1a94cd0ea2302fe45a4b0bb917565a60f8f442eabf6190f42d0c261c0c5087b9",
     "material_removed": false
    },
    "published_at": "2026-11-06T18:56:43.000Z",
    "detected_at": "2026-11-06T19:10:48.911Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-ba4654cacdf7",
     "display_name": "Alanyaspor — Trabzonspor",
     "competition_name": "Süper Lig",
     "starts_at": "2026-11-08T15:30:00.000Z",
     "url": "/football/matches/alanyaspor-vs-trabzonspor-2026-11-08/",
     "scoreline": null,
     "condition": "scheduled"
    },
    "market_label": "Correct score",
    "outcome_label": "Alanyaspor 1-2 Trabzonspor",
    "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": "unknown",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-11-06T18:56:43.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-06T18:56:43.000Z",
     "detected_at": "2026-11-06T19:10:48.911Z",
     "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": "Alanyaspor 1-2 Trabzonspor",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Alanyaspor 1-2 Trabzonspor"
    },
    "author_claim_outcome": {
     "result": "unknown",
     "scoreline": null,
     "data_status": "unknown",
     "cause": "kick-off 8 November 2026, 15:30 UTC",
     "methodology_version": "2.2",
     "in_words": "Pending: kick-off 8 November 2026, 15:30 UTC."
    },
    "settlements": [
     {
      "operation_id": "12c0efebecb5bd97c23296a808078581f1beae24eebf55e7ce292d6454b7c843",
      "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": "Trabzonspor",
      "decimal_odds": "1.6500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": "2026-11-06T19:17:58.058Z",
      "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/alanyaspor/preview/alanyaspor-vs-trabzonspor-prediction-team-news-lineups_608629.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Alanyaspor 1-2 Trabzonspor"
   }
  },
  {
   "record_id": "n-f71f2cda263d3a6469eceea0",
   "url": "/authors/joshua-cole/picks/9/#pick-n-f71f2cda263d3a6469eceea0",
   "match": "Göztepe v İstanbul Başakşehir",
   "match_url": "/football/matches/goztepe-vs-istanbul-basaksehir-2026-11-07/",
   "kickoff": "2026-11-07T16:00:00.000Z",
   "competition": "Süper Lig",
   "lead_hours": 36.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Göztepe 2-1 İstanbul Başakşehir",
   "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-11-05T23:10:05.000Z",
   "recorded_at": "2026-11-06T03:10:14.630Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "2.0400",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-f71f2cda263d3a6469eceea0",
    "quote_text": "We say: Goztepe SK 2-1 Istanbul Basaksehir",
    "fragment_from": 4018,
    "fragment_to": 4060,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/goztepe-sk/preview/goztepe-sk-vs-istanbul-prediction-team-news-lineups_608536.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "b73eb7dd8e5803790b926cdc80edebfb3d7007fed1aab09854a75a60b1d11b09",
     "material_removed": false
    },
    "published_at": "2026-11-05T23:10:05.000Z",
    "detected_at": "2026-11-06T03:10:14.630Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-e406d99704e4",
     "display_name": "Göztepe — İstanbul Başakşehir",
     "competition_name": "Süper Lig",
     "starts_at": "2026-11-07T16:00:00.000Z",
     "url": "/football/matches/goztepe-vs-istanbul-basaksehir-2026-11-07/",
     "scoreline": "1-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Göztepe 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-11-05T23:10:05.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-05T23:10:05.000Z",
     "detected_at": "2026-11-06T03:10:14.630Z",
     "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": "Göztepe 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: Göztepe 2-1 İstanbul Başakşehir"
    },
    "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 Göztepe 1-2 İstanbul Başakşehir."
    },
    "settlements": [
     {
      "operation_id": "d97410aa95e789792f6609a99bd7a46b24678447678c2d7a5174aa5175ad1017",
      "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": "Göztepe",
      "decimal_odds": "2.0400",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-06T03:13:21.187Z",
      "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/goztepe-sk/preview/goztepe-sk-vs-istanbul-prediction-team-news-lineups_608536.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Göztepe 2-1 İstanbul Başakşehir"
   }
  },
  {
   "record_id": "n-8552b2a01c99ae0fb6187ec1",
   "url": "/authors/joshua-cole/picks/9/#pick-n-8552b2a01c99ae0fb6187ec1",
   "match": "Galatasaray v Amed SK",
   "match_url": "/football/matches/galatasaray-vs-amed-sk-2026-11-07/",
   "kickoff": "2026-11-07T16:00:00.000Z",
   "competition": "Süper Lig",
   "lead_hours": 36.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Galatasaray 3-1 Amed SK",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "4-3",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-11-05T23:10:19.000Z",
   "recorded_at": "2026-11-06T03:10:13.349Z",
   "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.4200",
    "result": "Won",
    "points_hundredths": 4200,
    "picked_favourite": true
   },
   "platform": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-8552b2a01c99ae0fb6187ec1",
    "quote_text": "We say: Galatasaray 3-1 Amed SK",
    "fragment_from": 4637,
    "fragment_to": 4668,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/galatasaray/preview/galatasaray-vs-amed-sk-prediction-team-news-lineups_608538.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "07122a1351d8dddfa9297c3229890d5e72bb53001bdc554a9cd8411aa5f22bbd",
     "material_removed": false
    },
    "published_at": "2026-11-05T23:10:19.000Z",
    "detected_at": "2026-11-06T03:10:13.349Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-4935f0ec1777",
     "display_name": "Galatasaray — Amed SK",
     "competition_name": "Süper Lig",
     "starts_at": "2026-11-07T16:00:00.000Z",
     "url": "/football/matches/galatasaray-vs-amed-sk-2026-11-07/",
     "scoreline": "4-3",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Galatasaray 3-1 Amed SK",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-11-05T23:10:19.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-05T23:10:19.000Z",
     "detected_at": "2026-11-06T03:10:13.349Z",
     "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": "Galatasaray 3-1 Amed SK",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "3-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Galatasaray 3-1 Amed SK"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "4-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Galatasaray 4-3 Amed SK."
    },
    "settlements": [
     {
      "operation_id": "66539a8d09235f3ce4882a40c47565368b1a21f0c3c53f84164f4f0e086716c4",
      "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.4200",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 4200,
      "executed_at": "2026-11-06T03:14:03.493Z",
      "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/galatasaray/preview/galatasaray-vs-amed-sk-prediction-team-news-lineups_608538.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Galatasaray 3-1 Amed SK"
   }
  },
  {
   "record_id": "n-b610fa79fdcc4250b5ec1e3c",
   "url": "/authors/joshua-cole/picks/9/#pick-n-b610fa79fdcc4250b5ec1e3c",
   "match": "Samsunspor v Konyaspor",
   "match_url": "/football/matches/samsunspor-vs-konyaspor-2026-11-07/",
   "kickoff": "2026-11-07T13:00:00.000Z",
   "competition": "Süper Lig",
   "lead_hours": 32.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Samsunspor 1-1 Konyaspor",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-11-05T23:09:51.000Z",
   "recorded_at": "2026-11-06T04:10:58.233Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "2.2800",
    "result": "Won",
    "points_hundredths": 12800,
    "picked_favourite": false
   },
   "platform": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-b610fa79fdcc4250b5ec1e3c",
    "quote_text": "We say: Samsunspor 1-1 Konyaspor",
    "fragment_from": 3633,
    "fragment_to": 3665,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/samsunspor/preview/samsunspor-vs-konyaspor-prediction-team-news-lineups_608535.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "af5979f4ce052806f2926ca39c217ad1703d47ee2f475eb3e31e3fb2d9af6b29",
     "material_removed": false
    },
    "published_at": "2026-11-05T23:09:51.000Z",
    "detected_at": "2026-11-06T04:10:58.233Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-8b9d2a68851e",
     "display_name": "Samsunspor — Konyaspor",
     "competition_name": "Süper Lig",
     "starts_at": "2026-11-07T13:00:00.000Z",
     "url": "/football/matches/samsunspor-vs-konyaspor-2026-11-07/",
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Samsunspor 1-1 Konyaspor",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-11-05T23:09:51.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-05T23:09:51.000Z",
     "detected_at": "2026-11-06T04:10:58.233Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Samsunspor 1-1 Konyaspor",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Samsunspor 1-1 Konyaspor"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Samsunspor 1-0 Konyaspor."
    },
    "settlements": [
     {
      "operation_id": "7fa64bc1ab8f2c55a7fd2b0e11f0560f6a090a5bdb803e6f2dbbb2cfe4de7c22",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "3.3800",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-06T04:15:57.957Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joshua Cole",
     "publisher": "Sports Mole",
     "forecaster": "Joshua Cole",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/samsunspor/preview/samsunspor-vs-konyaspor-prediction-team-news-lineups_608535.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Samsunspor 1-1 Konyaspor"
   }
  },
  {
   "record_id": "n-efefc107f5cf3ada60970670",
   "url": "/authors/joshua-cole/picks/9/#pick-n-efefc107f5cf3ada60970670",
   "match": "Eyüpspor v Kocaelispor",
   "match_url": "/football/matches/eyupspor-vs-kocaelispor-2026-11-07/",
   "kickoff": "2026-11-07T10:30:00.000Z",
   "competition": "Süper Lig",
   "lead_hours": 30.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Eyüpspor 0-2 Kocaelispor",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "0-2",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-11-05T23:09:34.000Z",
   "recorded_at": "2026-11-06T04:10:59.408Z",
   "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-efefc107f5cf3ada60970670",
    "quote_text": "We say: Eyupspor 0-2 Kocaelispor",
    "fragment_from": 4057,
    "fragment_to": 4089,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/eyupspor/preview/eyupspor-vs-kocaelispor-prediction-team-news-lineups_608533.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "6689ff9afcda9f82b5679f17ba389c43f9b655760e062765a31b86ab10657f06",
     "material_removed": false
    },
    "published_at": "2026-11-05T23:09:34.000Z",
    "detected_at": "2026-11-06T04:10:59.408Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-e0f6e3c1679a",
     "display_name": "Eyüpspor — Kocaelispor",
     "competition_name": "Süper Lig",
     "starts_at": "2026-11-07T10:30:00.000Z",
     "url": "/football/matches/eyupspor-vs-kocaelispor-2026-11-07/",
     "scoreline": "0-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Eyüpspor 0-2 Kocaelispor",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "win",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-11-05T23:09:34.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-05T23:09:34.000Z",
     "detected_at": "2026-11-06T04:10:59.408Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Eyüpspor 0-2 Kocaelispor",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "0-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Eyüpspor 0-2 Kocaelispor"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "0-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Matched: the final score was Eyüpspor 0-2 Kocaelispor."
    },
    "settlements": [
     {
      "operation_id": "4c2dc05445ada377f6b82a90a8b70f6eeb2217eac66933d78e98b3019bfe2f4d",
      "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": "Kocaelispor",
      "decimal_odds": "1.9500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 9500,
      "executed_at": "2026-11-06T04:15:56.597Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joshua Cole",
     "publisher": "Sports Mole",
     "forecaster": "Joshua Cole",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/eyupspor/preview/eyupspor-vs-kocaelispor-prediction-team-news-lineups_608533.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Eyüpspor 0-2 Kocaelispor"
   }
  },
  {
   "record_id": "n-6cd5e9e6ddf8b13d89c5d2e1",
   "url": "/authors/joshua-cole/picks/9/#pick-n-6cd5e9e6ddf8b13d89c5d2e1",
   "match": "Celtic v Beşiktaş",
   "match_url": "/football/matches/celtic-vs-besiktas-2026-11-05/",
   "kickoff": "2026-11-05T20:00:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 47.2,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Celtic 1-2 Beşiktaş at 9.5",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "3-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-11-03T20:35:34.000Z",
   "recorded_at": "2026-11-03T20:48:21.915Z",
   "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-6cd5e9e6ddf8b13d89c5d2e1",
    "quote_text": "Correct score: Celtic 1-2 Besiktas at 9.50 (17/2)",
    "fragment_from": 5135,
    "fragment_to": 5184,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/celtic-vs-besiktas-prediction-05-11-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d3f6a40d88894df075a1489e211fa0f6bdfdfe41ffe33e0c6130f6fe0add7777",
     "material_removed": false
    },
    "published_at": "2026-11-03T20:35:34.000Z",
    "detected_at": "2026-11-03T20:48:21.915Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-956b3f4d80d8",
     "display_name": "Celtic — Beşiktaş",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-11-05T20:00:00.000Z",
     "url": "/football/matches/celtic-vs-besiktas-2026-11-05/",
     "scoreline": "3-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Celtic 1-2 Beşiktaş",
    "odds_set": {
     "by_author": "9.5",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-11-03T20:35:34.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-03T20:35:34.000Z",
     "detected_at": "2026-11-03T20:48:21.915Z",
     "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": "Celtic 1-2 Beşiktaş",
     "author_odds": "9.5",
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Celtic 1-2 Beşiktaş at 9.5"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Celtic 3-2 Beşiktaş."
    },
    "settlements": [
     {
      "operation_id": "158bd2a7a8967182eed1cb16c6b4371f04032792f9b125f02afcd18c30aaecec",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Celtic 1-2 Beşiktaş",
      "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": "4d4e11ba4a687f94afec207c2dbce4925ca9d696050cf21b63ddb06a85827165",
      "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": 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/celtic-vs-besiktas-prediction-05-11-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Celtic 1-2 Beşiktaş"
   }
  },
  {
   "record_id": "n-879fa8ffa61d3fc9b384c161",
   "url": "/authors/joshua-cole/picks/9/#pick-n-879fa8ffa61d3fc9b384c161",
   "match": "Celtic v Beşiktaş",
   "match_url": "/football/matches/celtic-vs-besiktas-2026-11-05/",
   "kickoff": "2026-11-05T20:00:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 47.2,
   "market_code": "1x2",
   "author_said": "1X2, match result: Beşiktaş at 2.35",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "3-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-11-03T20:35:34.000Z",
   "recorded_at": "2026-11-03T20:48:21.915Z",
   "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-879fa8ffa61d3fc9b384c161",
    "quote_text": "an away win at 2.35 (27/20) has a lot of value.",
    "fragment_from": 4600,
    "fragment_to": 4647,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/celtic-vs-besiktas-prediction-05-11-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d3f6a40d88894df075a1489e211fa0f6bdfdfe41ffe33e0c6130f6fe0add7777",
     "material_removed": false
    },
    "published_at": "2026-11-03T20:35:34.000Z",
    "detected_at": "2026-11-03T20:48:21.915Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-956b3f4d80d8",
     "display_name": "Celtic — Beşiktaş",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-11-05T20:00:00.000Z",
     "url": "/football/matches/celtic-vs-besiktas-2026-11-05/",
     "scoreline": "3-2",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Beşiktaş",
    "odds_set": {
     "by_author": "2.35",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-11-03T20:35:34.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-03T20:35:34.000Z",
     "detected_at": "2026-11-03T20:48:21.915Z",
     "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": "Beşiktaş",
     "author_odds": "2.35",
     "market_key": "1x2",
     "choice_key": "2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Beşiktaş at 2.35"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Celtic 3-2 Beşiktaş."
    },
    "settlements": [
     {
      "operation_id": "576a48e06165b9520f363639bc6d3b043577e5762df3a79f5dc20c5dfae8212e",
      "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": "Beşiktaş",
      "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": "50160a5f98cd6a44514b0fc7b62fcd68141ef506cac87966ecc3a2534b7b76a9",
      "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": "Beşiktaş",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joshua Cole",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Cole",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/celtic-vs-besiktas-prediction-05-11-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Beşiktaş to win"
   }
  },
  {
   "record_id": "n-7a3fd164c6a9d84f32ea9ca8",
   "url": "/authors/joshua-cole/picks/9/#pick-n-7a3fd164c6a9d84f32ea9ca8",
   "match": "Trabzonspor v SC Freiburg",
   "match_url": "/football/matches/trabzonspor-vs-sc-freiburg-2026-11-05/",
   "kickoff": "2026-11-05T17:45:00.000Z",
   "competition": "UEFA Conference League",
   "lead_hours": 46.0,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Trabzonspor 2-1 SC Freiburg at 9.8",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-1",
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-11-03T19:28:55.000Z",
   "recorded_at": "2026-11-03T19:44:17.158Z",
   "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-7a3fd164c6a9d84f32ea9ca8",
    "quote_text": "Correct score: Trabzonspor 2-1 Freiburg at 9.80 (44/5)",
    "fragment_from": 5674,
    "fragment_to": 5728,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/trabzonspor-vs-freiburg-prediction-05-11-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "04bb35dd74c144cb570de8656d7f031b17bce799a08f5dbb79c815baa50d9da0",
     "material_removed": false
    },
    "published_at": "2026-11-03T19:28:55.000Z",
    "detected_at": "2026-11-03T19:44:17.158Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "ambiguous",
    "event": {
     "event_id": "s-4cb5a6b23560",
     "display_name": "Trabzonspor — SC Freiburg",
     "competition_name": "UEFA Conference League",
     "starts_at": "2026-11-05T17:45:00.000Z",
     "url": "/football/matches/trabzonspor-vs-sc-freiburg-2026-11-05/",
     "scoreline": "0-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Trabzonspor 2-1 SC Freiburg",
    "odds_set": {
     "by_author": "9.8",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-11-03T19:28:55.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-03T19:28:55.000Z",
     "detected_at": "2026-11-03T19:44:17.158Z",
     "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": "Trabzonspor 2-1 SC Freiburg",
     "author_odds": "9.8",
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Trabzonspor 2-1 SC Freiburg at 9.8"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Trabzonspor 0-1 SC Freiburg."
    },
    "settlements": [
     {
      "operation_id": "03b8155615fa9c3263c6aef5ffdd187b82f66ca218938801ae39d2fa0421d0af",
      "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": "Trabzonspor",
      "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/trabzonspor-vs-freiburg-prediction-05-11-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Trabzonspor 2-1 SC Freiburg"
   }
  },
  {
   "record_id": "n-aa59433569c17f975767e0ff",
   "url": "/authors/joshua-cole/picks/9/#pick-n-aa59433569c17f975767e0ff",
   "match": "Galatasaray v VfB Stuttgart",
   "match_url": "/football/matches/galatasaray-vs-vfb-stuttgart-2026-11-03/",
   "kickoff": "2026-11-03T17:45:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 48.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Galatasaray 2-1 VfB Stuttgart",
   "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-11-01T16:14:00.000Z",
   "recorded_at": "2026-11-01T17:10:48.846Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "2.1500",
    "result": "Won",
    "points_hundredths": 11500,
    "picked_favourite": true
   },
   "platform": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-aa59433569c17f975767e0ff",
    "quote_text": "We say: Galatasaray 2-1 Stuttgart",
    "fragment_from": 4953,
    "fragment_to": 4986,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/galatasaray/champions-league/preview/galatasaray-vs-stuttgart-prediction-team-news-lineups_608206.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "30a454e4c37bd98fa2e247c85169e77a29cc22198345406116a531b113218fc2",
     "material_removed": false
    },
    "published_at": "2026-11-01T16:14:00.000Z",
    "detected_at": "2026-11-01T17:10:48.846Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-fd57a6a9d1f7",
     "display_name": "Galatasaray — VfB Stuttgart",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-11-03T17:45:00.000Z",
     "url": "/football/matches/galatasaray-vs-vfb-stuttgart-2026-11-03/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Galatasaray 2-1 VfB Stuttgart",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-11-01T16:14:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-01T16:14:00.000Z",
     "detected_at": "2026-11-01T17:10:48.846Z",
     "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": "Galatasaray 2-1 VfB Stuttgart",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Galatasaray 2-1 VfB Stuttgart"
    },
    "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 Galatasaray 2-0 VfB Stuttgart."
    },
    "settlements": [
     {
      "operation_id": "8394a845adc1d35daafefb6919bcafa55ba29fa25f4f83b6fe727b1e797fc060",
      "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": "2.1500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 11500,
      "executed_at": "2026-11-02T16:58:51.351Z",
      "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/galatasaray/champions-league/preview/galatasaray-vs-stuttgart-prediction-team-news-lineups_608206.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Galatasaray 2-1 VfB Stuttgart"
   }
  },
  {
   "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-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-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-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-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-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-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-a94efabcedbaf7265e4988d2",
   "url": "/authors/joshua-cole/picks/7/#pick-n-a94efabcedbaf7265e4988d2",
   "match": "Paris Saint-Germain v Olympique Lyonnais",
   "match_url": "/football/matches/paris-saint-germain-vs-olympique-lyonnais-2026-10-26/",
   "kickoff": "2026-10-26T19:30:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 45.7,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Paris Saint-Germain 2-1 Olympique Lyonnais at 9",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-0",
   "reason": "graded against the result: wrong",
   "reason_code": "not_checked",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-24T21:33:12.000Z",
   "recorded_at": "2026-10-24T21:45:07.234Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-a94efabcedbaf7265e4988d2",
    "quote_text": "Correct score: PSG 2-1 Lyon at 9.00 (8/1)",
    "fragment_from": 5234,
    "fragment_to": 5275,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/psg-vs-lyon-prediction-26-10-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "75a7779d9cc7aee474d946764bf1601cbdb5273af39ae951cd3c4f42ddf817c3",
     "material_removed": false
    },
    "published_at": "2026-10-24T21:33:12.000Z",
    "detected_at": "2026-10-24T21:45:07.234Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-4bf1ea244970",
     "display_name": "Paris Saint-Germain — Olympique Lyonnais",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-26T19:30:00.000Z",
     "url": "/football/matches/paris-saint-germain-vs-olympique-lyonnais-2026-10-26/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Paris Saint-Germain 2-1 Olympique Lyonnais",
    "odds_set": {
     "by_author": "9",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-24T21:33:12.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-24T21:33:12.000Z",
     "detected_at": "2026-10-24T21:45:07.234Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Paris Saint-Germain 2-1 Olympique Lyonnais",
     "author_odds": "9",
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Paris Saint-Germain 2-1 Olympique Lyonnais at 9"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Paris Saint-Germain 2-0 Olympique Lyonnais."
    },
    "settlements": [
     {
      "operation_id": "d82c2b936c1054b87725a2e0212ead865efc8dd2a9a4762b6ca352c60618bb8b",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Paris Saint-Germain 2-1 Olympique Lyonnais",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "8bf67158949919cec663a82657935ab56b045fcf268fd4e20fbe0a66928c3d16",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Paris Saint-Germain 2-1 Olympique Lyonnais",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joshua Cole",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Cole",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/psg-vs-lyon-prediction-26-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Paris Saint-Germain 2-1 Olympique Lyonnais"
   }
  },
  {
   "record_id": "n-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-1727a5f4029c4b64ff66ddc9",
   "url": "/authors/joshua-cole/picks/7/#pick-n-1727a5f4029c4b64ff66ddc9",
   "match": "Olympique de Marseille v Le Havre",
   "match_url": "/football/matches/olympique-de-marseille-vs-le-havre-2026-10-25/",
   "kickoff": "2026-10-25T16:15:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 15.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Olympique de Marseille 3-0 Le Havre",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "4-3",
   "reason": "graded against the result: wrong",
   "reason_code": "not_checked",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-24T23:00:00.000Z",
   "recorded_at": "2026-10-25T00:26:09.229Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-1727a5f4029c4b64ff66ddc9",
    "quote_text": "We say: Marseille 3-0 Le Havre",
    "fragment_from": 3694,
    "fragment_to": 3724,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/as-monaco/ligue-1-predictions/feature/a-top-of-the-table-battle-sundays-ligue-1-predictions_607630.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "dc893a766dbfe964c0da3b4c6195630e94ed51e236d3135d88c6f6ec63f4a679",
     "material_removed": false
    },
    "published_at": "2026-10-24T23:00:00.000Z",
    "detected_at": "2026-10-25T00:26:09.229Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-170bec757c5c",
     "display_name": "Olympique de Marseille — Le Havre",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-25T16:15:00.000Z",
     "url": "/football/matches/olympique-de-marseille-vs-le-havre-2026-10-25/",
     "scoreline": "4-3",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Olympique de Marseille 3-0 Le Havre",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-24T23:00:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-24T23:00:00.000Z",
     "detected_at": "2026-10-25T00:26:09.229Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Olympique de Marseille 3-0 Le Havre",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "3-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Olympique de Marseille 3-0 Le Havre"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "4-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Olympique de Marseille 4-3 Le Havre."
    },
    "settlements": [
     {
      "operation_id": "3f708f558f96dee4843977fad7a35727e6d368cefc1a505e178ac48706638778",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Olympique de Marseille 3-0 Le Havre",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "ed516e8fcd4b26f3d1864ee1b15f86f25903cf2bf6da29b123c103477acde5d7",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Olympique de Marseille",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joshua Cole",
     "publisher": "Sports Mole",
     "forecaster": "Joshua Cole",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/as-monaco/ligue-1-predictions/feature/a-top-of-the-table-battle-sundays-ligue-1-predictions_607630.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Olympique de Marseille 3-0 Le Havre"
   }
  },
  {
   "record_id": "n-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-5911ffdfb9bdc46a194ce02b",
   "url": "/authors/joshua-cole/picks/7/#pick-n-5911ffdfb9bdc46a194ce02b",
   "match": "Monaco v Lille",
   "match_url": "/football/matches/monaco-vs-lille-2026-10-25/",
   "kickoff": "2026-10-25T14:00:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 13.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Monaco 1-1 Lille",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "1-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-24T23:00:00.000Z",
   "recorded_at": "2026-10-25T00:26:09.229Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "1.9800",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": false
   },
   "platform": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-5911ffdfb9bdc46a194ce02b",
    "quote_text": "We say: Monaco 1-1 Lille",
    "fragment_from": 852,
    "fragment_to": 876,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/as-monaco/ligue-1-predictions/feature/a-top-of-the-table-battle-sundays-ligue-1-predictions_607630.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "dc893a766dbfe964c0da3b4c6195630e94ed51e236d3135d88c6f6ec63f4a679",
     "material_removed": false
    },
    "published_at": "2026-10-24T23:00:00.000Z",
    "detected_at": "2026-10-25T00:26:09.229Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-4e7825289b07",
     "display_name": "Monaco — Lille",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-25T14:00:00.000Z",
     "url": "/football/matches/monaco-vs-lille-2026-10-25/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Monaco 1-1 Lille",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "win",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-24T23:00:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-24T23:00:00.000Z",
     "detected_at": "2026-10-25T00:26:09.229Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Monaco 1-1 Lille",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Monaco 1-1 Lille"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Matched: the final score was Monaco 1-1 Lille."
    },
    "settlements": [
     {
      "operation_id": "a99841b03a0b94fc45c93a7cce8944ddb87304dcec1a31bf8de7a29221f5c185",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "3.4900",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 24900,
      "executed_at": "2026-10-25T16:14:09.324Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joshua Cole",
     "publisher": "Sports Mole",
     "forecaster": "Joshua Cole",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/as-monaco/ligue-1-predictions/feature/a-top-of-the-table-battle-sundays-ligue-1-predictions_607630.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Monaco 1-1 Lille"
   }
  },
  {
   "record_id": "n-6a721f7dd33c37947a446d05",
   "url": "/authors/joshua-cole/picks/7/#pick-n-6a721f7dd33c37947a446d05",
   "match": "Konyaspor v Gençlerbirliği",
   "match_url": "/football/matches/konyaspor-vs-genclerbirligi-2026-10-25/",
   "kickoff": "2026-10-25T13:00:00.000Z",
   "competition": "Süper Lig",
   "lead_hours": 41.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Konyaspor 1-0 Gençlerbirliği",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-23T18:44:40.000Z",
   "recorded_at": "2026-10-23T19:10:15.365Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "1.8500",
    "result": "Won",
    "points_hundredths": 8500,
    "picked_favourite": true
   },
   "platform": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-6a721f7dd33c37947a446d05",
    "quote_text": "We say: Konyaspor 1-0 Genclerbirligi",
    "fragment_from": 4635,
    "fragment_to": 4671,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/konyaspor/preview/konyaspor-vs-genclerbirligi-prediction-team-news-lineups_607589.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "37ed3f37a90dde643ec74349d0899a46cc018553febf5b0e3b9098211413724d",
     "material_removed": false
    },
    "published_at": "2026-10-23T18:44:40.000Z",
    "detected_at": "2026-10-23T19:10:15.365Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-11b7de63cf40",
     "display_name": "Konyaspor — Gençlerbirliği",
     "competition_name": "Süper Lig",
     "starts_at": "2026-10-25T13:00:00.000Z",
     "url": "/football/matches/konyaspor-vs-genclerbirligi-2026-10-25/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Konyaspor 1-0 Gençlerbirliği",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-23T18:44:40.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-23T18:44:40.000Z",
     "detected_at": "2026-10-23T19:10:15.365Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Konyaspor 1-0 Gençlerbirliği",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Konyaspor 1-0 Gençlerbirliği"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Konyaspor 2-0 Gençlerbirliği."
    },
    "settlements": [
     {
      "operation_id": "976b4b2a0a287b46399b36adc8863ae2017ec05db5dcd176e09da03082bef83e",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Konyaspor",
      "decimal_odds": "1.8500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 8500,
      "executed_at": "2026-10-25T12:42:32.422Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joshua Cole",
     "publisher": "Sports Mole",
     "forecaster": "Joshua Cole",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/konyaspor/preview/konyaspor-vs-genclerbirligi-prediction-team-news-lineups_607589.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Konyaspor 1-0 Gençlerbirliği"
   }
  },
  {
   "record_id": "n-42e1b7f86e5b3edde3cffcf9",
   "url": "/authors/joshua-cole/picks/7/#pick-n-42e1b7f86e5b3edde3cffcf9",
   "match": "Samsunspor v Amed SK",
   "match_url": "/football/matches/samsunspor-vs-amed-sk-2026-10-24/",
   "kickoff": "2026-10-24T16:00:00.000Z",
   "competition": "Süper Lig",
   "lead_hours": 42.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Samsunspor 1-2 Amed SK",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "1-2",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-22T20:08:57.000Z",
   "recorded_at": "2026-10-22T21:10:08.361Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "2.3000",
    "result": "Won",
    "points_hundredths": 13000,
    "picked_favourite": true
   },
   "platform": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-42e1b7f86e5b3edde3cffcf9",
    "quote_text": "We say: Samsunspor 1-2 Amed SK",
    "fragment_from": 4529,
    "fragment_to": 4559,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/samsunspor/preview/samsunspor-vs-amed-sk-prediction-team-news-lineups_607488.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "de5ad051ca9e91289f66fb8490f71829f83abe9fdb1bcfd9238ac1d02e350be3",
     "material_removed": false
    },
    "published_at": "2026-10-22T20:08:57.000Z",
    "detected_at": "2026-10-22T21:10:08.361Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-cdefbb3cf0ed",
     "display_name": "Samsunspor — Amed SK",
     "competition_name": "Süper Lig",
     "starts_at": "2026-10-24T16:00:00.000Z",
     "url": "/football/matches/samsunspor-vs-amed-sk-2026-10-24/",
     "scoreline": "1-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Samsunspor 1-2 Amed SK",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "win",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-22T20:08:57.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-22T20:08:57.000Z",
     "detected_at": "2026-10-22T21:10:08.361Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Samsunspor 1-2 Amed SK",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Samsunspor 1-2 Amed SK"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Matched: the final score was Samsunspor 1-2 Amed SK."
    },
    "settlements": [
     {
      "operation_id": "b224a6c658defd3d0ced3dfba7caadd2ec9a2fa78f37da3a3c228be06938c7e6",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Amed SK",
      "decimal_odds": "2.3000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 13000,
      "executed_at": "2026-10-24T00:47:53.862Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joshua Cole",
     "publisher": "Sports Mole",
     "forecaster": "Joshua Cole",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/samsunspor/preview/samsunspor-vs-amed-sk-prediction-team-news-lineups_607488.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Samsunspor 1-2 Amed SK"
   }
  },
  {
   "record_id": "n-d76c723288e3aa94c8082962",
   "url": "/authors/joshua-cole/picks/7/#pick-n-d76c723288e3aa94c8082962",
   "match": "Eyüpspor v Kasımpaşa",
   "match_url": "/football/matches/eyupspor-vs-kas-mpasa-2026-10-24/",
   "kickoff": "2026-10-24T10:30:00.000Z",
   "competition": "Süper Lig",
   "lead_hours": 38.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Eyüpspor 1-2 Kasımpaşa",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-22T19:22:34.000Z",
   "recorded_at": "2026-10-22T20:10:09.940Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "1.5550",
    "result": "Won",
    "points_hundredths": 5550,
    "picked_favourite": true
   },
   "platform": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-d76c723288e3aa94c8082962",
    "quote_text": "We say: Eyupspor 1-2 Kasimpasa",
    "fragment_from": 3785,
    "fragment_to": 3815,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/eyupspor/preview/eyupspor-vs-kasimpasa-prediction-team-news-lineups_607486.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "3b9a89e36e85627eb37d353007ced0f49d5fffa054e530bb0cbc24b62989302c",
     "material_removed": false
    },
    "published_at": "2026-10-22T19:22:34.000Z",
    "detected_at": "2026-10-22T20:10:09.940Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-26efbd876a0d",
     "display_name": "Eyüpspor — Kasımpaşa",
     "competition_name": "Süper Lig",
     "starts_at": "2026-10-24T10:30:00.000Z",
     "url": "/football/matches/eyupspor-vs-kas-mpasa-2026-10-24/",
     "scoreline": "0-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Eyüpspor 1-2 Kasımpaşa",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-22T19:22:34.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-22T19:22:34.000Z",
     "detected_at": "2026-10-22T20:10:09.940Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Eyüpspor 1-2 Kasımpaşa",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Eyüpspor 1-2 Kasımpaşa"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Eyüpspor 0-1 Kasımpaşa."
    },
    "settlements": [
     {
      "operation_id": "c1464e9d913b6b840816e16ab1b26199fe3da867af3cf3000edcb2e7925cb9f3",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Kasımpaşa",
      "decimal_odds": "1.5550",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5550,
      "executed_at": "2026-10-24T00:48:16.231Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joshua Cole",
     "publisher": "Sports Mole",
     "forecaster": "Joshua Cole",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/eyupspor/preview/eyupspor-vs-kasimpasa-prediction-team-news-lineups_607486.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Eyüpspor 1-2 Kasımpaşa"
   }
  },
  {
   "record_id": "n-bcc277f9684a9fbca517c8e8",
   "url": "/authors/joshua-cole/picks/7/#pick-n-bcc277f9684a9fbca517c8e8",
   "match": "Flamengo v Estudiantes de La Plata",
   "match_url": "/football/matches/flamengo-vs-estudiantes-de-la-plata-2026-10-23/",
   "kickoff": "2026-10-23T00:30:00.000Z",
   "competition": "Copa Libertadores",
   "lead_hours": 36.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Flamengo 1-0 Estudiantes de La Plata",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-21T11:40:40.000Z",
   "recorded_at": "2026-10-21T12:09:57.947Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-bcc277f9684a9fbca517c8e8",
    "quote_text": "We say: Flamengo 1-0 Estudiantes",
    "fragment_from": 4921,
    "fragment_to": 4953,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/flamengo/copa-libertadores/preview/flamengo-vs-estudiantes-prediction-team-news-lineups_607359.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "dfa09fed829f1b49f08681e2653fc9ed5fdc719aeee969e4a49bcdccf24c89a2",
     "material_removed": false
    },
    "published_at": "2026-10-21T11:40:40.000Z",
    "detected_at": "2026-10-21T12:09:57.947Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-de04821d4496",
     "display_name": "Flamengo — Estudiantes de La Plata",
     "competition_name": "Copa Libertadores",
     "starts_at": "2026-10-23T00:30:00.000Z",
     "url": "/football/matches/flamengo-vs-estudiantes-de-la-plata-2026-10-23/",
     "scoreline": "0-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Flamengo 1-0 Estudiantes de La Plata",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-21T11:40:40.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-21T11:40:40.000Z",
     "detected_at": "2026-10-21T12:09:57.947Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Flamengo 1-0 Estudiantes de La Plata",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Flamengo 1-0 Estudiantes de La Plata"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Flamengo 0-0 Estudiantes de La Plata."
    },
    "settlements": [
     {
      "operation_id": "32f3ddb632ab3558975e179adbc8344c49dc6aa4a5ecebaa719b3e787dbc5fb5",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Flamengo",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joshua Cole",
     "publisher": "Sports Mole",
     "forecaster": "Joshua Cole",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/flamengo/copa-libertadores/preview/flamengo-vs-estudiantes-prediction-team-news-lineups_607359.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Flamengo 1-0 Estudiantes de La Plata"
   }
  },
  {
   "record_id": "n-3482311471441d9456d62579",
   "url": "/authors/joshua-cole/picks/6/#pick-n-3482311471441d9456d62579",
   "match": "Jagiellonia v Anderlecht",
   "match_url": "/football/matches/jagiellonia-vs-anderlecht-2026-10-22/",
   "kickoff": "2026-10-22T19:00:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 48.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Jagiellonia 1-2 Anderlecht at 6.8",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-3",
   "reason": "",
   "reason_code": "disputed_reading",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-20T18:00:09.000Z",
   "recorded_at": "2026-10-20T18:14:21.089Z",
   "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-3482311471441d9456d62579",
    "quote_text": "Correct score: Jagiellonia Bialystok 1-2 Anderlecht at 6.80 (29/5)",
    "fragment_from": 4491,
    "fragment_to": 4557,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/jagiellonia-bialystok-vs-anderlecht-prediction-22-10-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "045938441c5ba5d74eebc631f522cba4d6506611c3006903c16d5d189659c0c6",
     "material_removed": false
    },
    "published_at": "2026-10-20T18:00:09.000Z",
    "detected_at": "2026-10-20T18:14:21.089Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": "",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": "s-7c076b290dd2",
     "display_name": "Jagiellonia — Anderlecht",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-10-22T19:00:00.000Z",
     "url": "/football/matches/jagiellonia-vs-anderlecht-2026-10-22/",
     "scoreline": "0-3",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Jagiellonia 1-2 Anderlecht",
    "odds_set": {
     "by_author": "6.8",
     "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-20T18:00:09.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-20T18:00:09.000Z",
     "detected_at": "2026-10-20T18:14:21.089Z",
     "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": "Jagiellonia 1-2 Anderlecht",
     "author_odds": "6.8",
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Jagiellonia 1-2 Anderlecht at 6.8"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Jagiellonia 0-3 Anderlecht."
    },
    "settlements": [
     {
      "operation_id": "7d548ca6dfa0ce17794bbe465c5d5a0a032a6de0d2ef5239e24195bceb417523",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Jagiellonia 1-2 Anderlecht",
      "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": "462b1fdb382944db30fbf5497f85fa70eaa42c2c7f3dcdeec0168f331b0ec0be",
      "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": "Anderlecht",
      "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/jagiellonia-bialystok-vs-anderlecht-prediction-22-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Jagiellonia 1-2 Anderlecht"
   }
  },
  {
   "record_id": "n-a733598dec8646da42499f17",
   "url": "/authors/joshua-cole/picks/6/#pick-n-a733598dec8646da42499f17",
   "match": "Jagiellonia v Anderlecht",
   "match_url": "/football/matches/jagiellonia-vs-anderlecht-2026-10-22/",
   "kickoff": "2026-10-22T19:00:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 48.8,
   "market_code": "1x2",
   "author_said": "1X2, match result: draw at 3.5",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-3",
   "reason": "",
   "reason_code": "disputed_reading",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-20T18:00:09.000Z",
   "recorded_at": "2026-10-20T18:14:21.089Z",
   "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-a733598dec8646da42499f17",
    "quote_text": "Match result – Draw at 3.50 (5/2)",
    "fragment_from": 4433,
    "fragment_to": 4466,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/jagiellonia-bialystok-vs-anderlecht-prediction-22-10-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "045938441c5ba5d74eebc631f522cba4d6506611c3006903c16d5d189659c0c6",
     "material_removed": false
    },
    "published_at": "2026-10-20T18:00:09.000Z",
    "detected_at": "2026-10-20T18:14:21.089Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "recognised",
    "cause": "",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": "s-7c076b290dd2",
     "display_name": "Jagiellonia — Anderlecht",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-10-22T19:00:00.000Z",
     "url": "/football/matches/jagiellonia-vs-anderlecht-2026-10-22/",
     "scoreline": "0-3",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "draw",
    "odds_set": {
     "by_author": "3.5",
     "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-20T18:00:09.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-20T18:00:09.000Z",
     "detected_at": "2026-10-20T18:14:21.089Z",
     "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": "draw",
     "author_odds": "3.5",
     "market_key": "1x2",
     "choice_key": "X",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: draw at 3.5"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Jagiellonia 0-3 Anderlecht."
    },
    "settlements": [
     {
      "operation_id": "0b235538e9c5043195ab9c360c97e83eb475e365bb182275169ba79562b1de2f",
      "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": "draw",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "064e6e60fa54273114a8d0e19424d2baeeedf67ec175dd0214b0005a35b90fcd",
      "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": "draw",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joshua Cole",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Cole",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/jagiellonia-bialystok-vs-anderlecht-prediction-22-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "a draw"
   }
  },
  {
   "record_id": "n-ec543606fb588a08efba67c7",
   "url": "/authors/joshua-cole/picks/6/#pick-n-ec543606fb588a08efba67c7",
   "match": "Union St. Gilloise v Hapoel Be'er Sheva",
   "match_url": "/football/matches/union-st-gilloise-vs-hapoel-be-er-sheva-2026-10-22/",
   "kickoff": "2026-10-22T16:45:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 46.5,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Union St. Gilloise 2-0 Hapoel Be'er Sheva at 7",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "4-0",
   "reason": "graded against the result: wrong",
   "reason_code": "not_checked",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-20T18:00:06.000Z",
   "recorded_at": "2026-10-20T18:14:21.650Z",
   "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-ec543606fb588a08efba67c7",
    "quote_text": "> Correct score: Union Saint-Gilloise 2-0 Hapoel Be'er Sheva at 7.00 (6/1) | Likelihood: Low",
    "fragment_from": 4781,
    "fragment_to": 4873,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/union-saint-gilloise-vs-hapoel-beer-sheva-prediction-22-10-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "ef07b67ccc95177ed9ba10059ce4ed027dcdc7e6f2acf07bf5dfa647599c981c",
     "material_removed": false
    },
    "published_at": "2026-10-20T18:00:06.000Z",
    "detected_at": "2026-10-20T18:14:21.650Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-45db402e3921",
     "display_name": "Union St. Gilloise — Hapoel Be'er Sheva",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-10-22T16:45:00.000Z",
     "url": "/football/matches/union-st-gilloise-vs-hapoel-be-er-sheva-2026-10-22/",
     "scoreline": "4-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Union St. Gilloise 2-0 Hapoel Be'er Sheva",
    "odds_set": {
     "by_author": "7",
     "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-20T18:00:06.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-20T18:00:06.000Z",
     "detected_at": "2026-10-20T18:14:21.650Z",
     "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": "Union St. Gilloise 2-0 Hapoel Be'er Sheva",
     "author_odds": "7",
     "market_key": "correct_score_market",
     "choice_key": "2-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Union St. Gilloise 2-0 Hapoel Be'er Sheva at 7"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "4-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Union St. Gilloise 4-0 Hapoel Be'er Sheva."
    },
    "settlements": [
     {
      "operation_id": "7fe13a159d460751271442ccd6b5bdec3ec034b903249ee27938bf61dc308a34",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Union St. Gilloise 2-0 Hapoel Be'er Sheva",
      "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": "a302f28cb3147c9955fb6136f2ac21a36c509e3f207d2948cf919b2fcfba08f5",
      "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": "Union St. Gilloise",
      "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/union-saint-gilloise-vs-hapoel-beer-sheva-prediction-22-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Union St. Gilloise 2-0 Hapoel Be'er Sheva"
   }
  },
  {
   "record_id": "n-757387667f060d1217ddaec1",
   "url": "/authors/joshua-cole/picks/6/#pick-n-757387667f060d1217ddaec1",
   "match": "Union St. Gilloise v Hapoel Be'er Sheva",
   "match_url": "/football/matches/union-st-gilloise-vs-hapoel-be-er-sheva-2026-10-22/",
   "kickoff": "2026-10-22T16:45:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 46.5,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 1.73",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "4-0",
   "reason": "",
   "reason_code": "disputed_reading",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-20T18:00:06.000Z",
   "recorded_at": "2026-10-20T18:14:21.650Z",
   "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-757387667f060d1217ddaec1",
    "quote_text": "> Both teams to score – Yes at 1.73 (8/11) | Likelihood: Medium",
    "fragment_from": 4716,
    "fragment_to": 4779,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/union-saint-gilloise-vs-hapoel-beer-sheva-prediction-22-10-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "ef07b67ccc95177ed9ba10059ce4ed027dcdc7e6f2acf07bf5dfa647599c981c",
     "material_removed": false
    },
    "published_at": "2026-10-20T18:00:06.000Z",
    "detected_at": "2026-10-20T18:14:21.650Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "recognised",
    "cause": "",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": "s-45db402e3921",
     "display_name": "Union St. Gilloise — Hapoel Be'er Sheva",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-10-22T16:45:00.000Z",
     "url": "/football/matches/union-st-gilloise-vs-hapoel-be-er-sheva-2026-10-22/",
     "scoreline": "4-0",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "1.73",
     "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-20T18:00:06.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-20T18:00:06.000Z",
     "detected_at": "2026-10-20T18:14:21.650Z",
     "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.73",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 1.73"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "4-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Union St. Gilloise 4-0 Hapoel Be'er Sheva."
    },
    "settlements": [
     {
      "operation_id": "5cccbbb71b122fe22f89b9cf1e2ac3550239c854d4f5b47a23c1ac7ce2e77673",
      "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": 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": "0df3909d5990b72f92b273f465176610ffdad2bd3d64de880268484a43f09bdb",
      "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": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joshua Cole",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Cole",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/union-saint-gilloise-vs-hapoel-beer-sheva-prediction-22-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-bd81ad8380ba3e785b6ef1cc",
   "url": "/authors/joshua-cole/picks/6/#pick-n-bd81ad8380ba3e785b6ef1cc",
   "match": "Union St. Gilloise v Hapoel Be'er Sheva",
   "match_url": "/football/matches/union-st-gilloise-vs-hapoel-be-er-sheva-2026-10-22/",
   "kickoff": "2026-10-22T16:45:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 46.5,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 1.65",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "4-0",
   "reason": "",
   "reason_code": "disputed_reading",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-20T18:00:06.000Z",
   "recorded_at": "2026-10-20T18:14:21.650Z",
   "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-bd81ad8380ba3e785b6ef1cc",
    "quote_text": "> Over 2.5 goals at 1.65 (13/20) | Likelihood: Medium",
    "fragment_from": 4661,
    "fragment_to": 4714,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/union-saint-gilloise-vs-hapoel-beer-sheva-prediction-22-10-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "ef07b67ccc95177ed9ba10059ce4ed027dcdc7e6f2acf07bf5dfa647599c981c",
     "material_removed": false
    },
    "published_at": "2026-10-20T18:00:06.000Z",
    "detected_at": "2026-10-20T18:14:21.650Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "recognised",
    "cause": "",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": "s-45db402e3921",
     "display_name": "Union St. Gilloise — Hapoel Be'er Sheva",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-10-22T16:45:00.000Z",
     "url": "/football/matches/union-st-gilloise-vs-hapoel-be-er-sheva-2026-10-22/",
     "scoreline": "4-0",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": "1.65",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "win",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-20T18:00:06.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-20T18:00:06.000Z",
     "detected_at": "2026-10-20T18:14:21.650Z",
     "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.65",
     "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.65"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "4-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Union St. Gilloise 4-0 Hapoel Be'er Sheva."
    },
    "settlements": [
     {
      "operation_id": "5b67b5ef03c35d9143144736e7f133584d281e51ceeea49b4423f46d589b30d3",
      "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": 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": "038da9a2dab8d584be25dfd1a656d5482d32844f9d13d6827dd89ace5498c033",
      "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": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joshua Cole",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Cole",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/union-saint-gilloise-vs-hapoel-beer-sheva-prediction-22-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "over 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-55fbe05d66b29d57fb313ff3",
   "url": "/authors/joshua-cole/picks/6/#pick-n-55fbe05d66b29d57fb313ff3",
   "match": "Lille v Galatasaray",
   "match_url": "/football/matches/lille-vs-galatasaray-2026-10-21/",
   "kickoff": "2026-10-21T16:45:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 46.2,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Lille 2-1 Galatasaray",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-4",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-19T18:25:57.000Z",
   "recorded_at": "2026-10-19T18:34:20.393Z",
   "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-55fbe05d66b29d57fb313ff3",
    "quote_text": "Whispers predicts: Lille 2-1 Galatasaray",
    "fragment_from": 4126,
    "fragment_to": 4166,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/lille-vs-galatasaray-prediction-21-10-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "0ba347f40aa43608fee4dbd5a662825b807cfe1dcaa84c400b24f0e8889b3289",
     "material_removed": false
    },
    "published_at": "2026-10-19T18:25:57.000Z",
    "detected_at": "2026-10-19T18:34:20.393Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-31ff7e2ddae8",
     "display_name": "Lille — Galatasaray",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-21T16:45:00.000Z",
     "url": "/football/matches/lille-vs-galatasaray-2026-10-21/",
     "scoreline": "2-4",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Lille 2-1 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-19T18:25:57.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-19T18:25:57.000Z",
     "detected_at": "2026-10-19T18:34:20.393Z",
     "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": "Lille 2-1 Galatasaray",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Lille 2-1 Galatasaray"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-4",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Lille 2-4 Galatasaray."
    },
    "settlements": [
     {
      "operation_id": "713aa9ba589f3bd4bbd33ed82699383588cdd9d846c9c9507da360d27763d80c",
      "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": "Lille",
      "decimal_odds": "2.1500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-21T00:37:43.216Z",
      "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/lille-vs-galatasaray-prediction-21-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Lille 2-1 Galatasaray"
   }
  },
  {
   "record_id": "n-0778677025c86025ffecd156",
   "url": "/authors/joshua-cole/picks/6/#pick-n-0778677025c86025ffecd156",
   "match": "Fenerbahçe v SK Slavia Praha",
   "match_url": "/football/matches/fenerbahce-vs-sk-slavia-praha-2026-10-20/",
   "kickoff": "2026-10-20T16:45:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 50.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Fenerbahçe 2-1 SK Slavia Praha at 7.5",
   "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-18T13:46:20.000Z",
   "recorded_at": "2026-10-18T13:54:13.252Z",
   "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.6667",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-0778677025c86025ffecd156",
    "quote_text": "Correct score: Fenerbahce 2-1 Slavia Praha at 13/2 (7.50)",
    "fragment_from": 4702,
    "fragment_to": 4759,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/fenerbahce-vs-slavia-prague-prediction-20-10-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "bcb7522667443acb744d8d8326cab120cf4628bfb8e85ff8a02c2b2c5bf2db2f",
     "material_removed": false
    },
    "published_at": "2026-10-18T13:46:20.000Z",
    "detected_at": "2026-10-18T13:54:13.252Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": "",
    "cause_code": "no_price_at_capture",
    "event": {
     "event_id": "s-a3e3d14ee503",
     "display_name": "Fenerbahçe — SK Slavia Praha",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-20T16:45:00.000Z",
     "url": "/football/matches/fenerbahce-vs-sk-slavia-praha-2026-10-20/",
     "scoreline": "2-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Fenerbahçe 2-1 SK Slavia Praha",
    "odds_set": {
     "by_author": "7.5",
     "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-18T13:46:20.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-18T13:46:20.000Z",
     "detected_at": "2026-10-18T13:54:13.252Z",
     "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 SK Slavia Praha",
     "author_odds": "7.5",
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Fenerbahçe 2-1 SK Slavia Praha at 7.5"
    },
    "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 Fenerbahçe 2-2 SK Slavia Praha."
    },
    "settlements": [
     {
      "operation_id": "9a11be4d41bbf9f45b7dcfe52de37f1e321385010dce0a8bc8eb93f29d4891e8",
      "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.6667",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-19T06:43:26.279Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     },
     {
      "operation_id": "f4beb726fb64b093830e1c35aa7af3f62a4ed48f7edc46965741db341130ca09",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Fenerbahçe 2-1 SK Slavia Praha",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joshua Cole",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Cole",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/fenerbahce-vs-slavia-prague-prediction-20-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Fenerbahçe 2-1 SK Slavia Praha"
   }
  },
  {
   "record_id": "n-671913cbf44a640ec27bf4fc",
   "url": "/authors/joshua-cole/picks/6/#pick-n-671913cbf44a640ec27bf4fc",
   "match": "Trabzonspor v Beşiktaş",
   "match_url": "/football/matches/trabzonspor-vs-besiktas-2026-10-19/",
   "kickoff": "2026-10-19T17:00:00.000Z",
   "competition": "Süper Lig",
   "lead_hours": 53.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Trabzonspor 2-2 Beşiktaş",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-0",
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-17T10:44:44.000Z",
   "recorded_at": "2026-10-17T11:10:01.434Z",
   "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-671913cbf44a640ec27bf4fc",
    "quote_text": "We say: Trabzonspor 2-2 Besiktas",
    "fragment_from": 5390,
    "fragment_to": 5422,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/trabzonspor/preview/trabzonspor-vs-besiktas-prediction-team-news-lineups_607114.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "2ba7af9dee0c164e15a8839e0701b894f29c2eacd3d30c9169d055a0d6caa3f4",
     "material_removed": false
    },
    "published_at": "2026-10-17T10:44:44.000Z",
    "detected_at": "2026-10-17T11:10:01.434Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "ambiguous",
    "event": {
     "event_id": "s-50d7f8d2dd2c",
     "display_name": "Trabzonspor — Beşiktaş",
     "competition_name": "Süper Lig",
     "starts_at": "2026-10-19T17:00:00.000Z",
     "url": "/football/matches/trabzonspor-vs-besiktas-2026-10-19/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Trabzonspor 2-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-17T10:44:44.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-17T10:44:44.000Z",
     "detected_at": "2026-10-17T11:10:01.434Z",
     "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": "Trabzonspor 2-2 Beşiktaş",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Trabzonspor 2-2 Beşiktaş"
    },
    "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 Trabzonspor 2-0 Beşiktaş."
    },
    "settlements": [
     {
      "operation_id": "42fda856cafdfb29575c957420136eafd12378d9c291365d358ccf722466822f",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "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/trabzonspor/preview/trabzonspor-vs-besiktas-prediction-team-news-lineups_607114.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Trabzonspor 2-2 Beşiktaş"
   }
  },
  {
   "record_id": "n-88d68a673c9ae73483b0259d",
   "url": "/authors/joshua-cole/picks/5/#pick-n-88d68a673c9ae73483b0259d",
   "match": "Angers v Olympique de Marseille",
   "match_url": "/football/matches/angers-vs-olympique-de-marseille-2026-10-18/",
   "kickoff": "2026-10-18T13:00:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 49.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Angers 0-1 Olympique de Marseille at 10",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-5",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-16T11:38:36.000Z",
   "recorded_at": "2026-10-16T11:44:15.531Z",
   "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.0800",
    "result": "Won",
    "points_hundredths": 10800,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-88d68a673c9ae73483b0259d",
    "quote_text": "> Correct score: Angers 0-1 Marseille at (9/1) 10.00 | Likelihood: Low",
    "fragment_from": 4646,
    "fragment_to": 4716,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/angers-vs-marseille-prediction-18-10-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "50b8d08080d0f18059305d00e099e91ad8970c22b5e158c87e668c816418f33a",
     "material_removed": false
    },
    "published_at": "2026-10-16T11:38:36.000Z",
    "detected_at": "2026-10-16T11:44:15.531Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-e82f849606a1",
     "display_name": "Angers — Olympique de Marseille",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-18T13:00:00.000Z",
     "url": "/football/matches/angers-vs-olympique-de-marseille-2026-10-18/",
     "scoreline": "2-5",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Angers 0-1 Olympique de Marseille",
    "odds_set": {
     "by_author": "10",
     "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-16T11:38:36.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-16T11:38:36.000Z",
     "detected_at": "2026-10-16T11:44:15.531Z",
     "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 Olympique de Marseille",
     "author_odds": "10",
     "market_key": "correct_score_market",
     "choice_key": "0-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Angers 0-1 Olympique de Marseille at 10"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-5",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Angers 2-5 Olympique de Marseille."
    },
    "settlements": [
     {
      "operation_id": "773c4c316ddc4448332f24d1a393b7343b92bdcc88fb9377389f3c0772ce310d",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Olympique de Marseille",
      "decimal_odds": "2.0800",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 10800,
      "executed_at": "2026-10-16T13:54:48.711Z",
      "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/angers-vs-marseille-prediction-18-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Angers 0-1 Olympique de Marseille"
   }
  },
  {
   "record_id": "n-4ab27cad47699d6e7a04fca3",
   "url": "/authors/joshua-cole/picks/5/#pick-n-4ab27cad47699d6e7a04fca3",
   "match": "Kocaelispor v Göztepe",
   "match_url": "/football/matches/kocaelispor-vs-goztepe-2026-10-18/",
   "kickoff": "2026-10-18T13:00:00.000Z",
   "competition": "Süper Lig",
   "lead_hours": 47.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Kocaelispor 1-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-16T12:06:58.000Z",
   "recorded_at": "2026-10-16T13:09:52.101Z",
   "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-4ab27cad47699d6e7a04fca3",
    "quote_text": "We say: Kocaelispor 1-1 Goztepe SK",
    "fragment_from": 4209,
    "fragment_to": 4243,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/kocaelispor/preview/kocaelispor-vs-goztepe-sk-prediction-team-news-lineups_607048.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "764e8e338f5fbc2e135d8ecaee766d674edf87aa3e98f6fa5e9b2567c094e2c4",
     "material_removed": false
    },
    "published_at": "2026-10-16T12:06:58.000Z",
    "detected_at": "2026-10-16T13:09:52.101Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-2b5c320f989a",
     "display_name": "Kocaelispor — Göztepe",
     "competition_name": "Süper Lig",
     "starts_at": "2026-10-18T13:00:00.000Z",
     "url": "/football/matches/kocaelispor-vs-goztepe-2026-10-18/",
     "scoreline": "1-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Kocaelispor 1-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-16T12:06:58.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-16T12:06:58.000Z",
     "detected_at": "2026-10-16T13:09:52.101Z",
     "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": "Kocaelispor 1-1 Göztepe",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Kocaelispor 1-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 Kocaelispor 1-2 Göztepe."
    },
    "settlements": [
     {
      "operation_id": "cd836d55fee76133dba4df7c2280f6094886b6a330bec82dd1b0bcd8215d699a",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "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/kocaelispor/preview/kocaelispor-vs-goztepe-sk-prediction-team-news-lineups_607048.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Kocaelispor 1-1 Göztepe"
   }
  },
  {
   "record_id": "n-939fafbe7a8b084a9eb904b4",
   "url": "/authors/joshua-cole/picks/5/#pick-n-939fafbe7a8b084a9eb904b4",
   "match": "Kasımpaşa v Samsunspor",
   "match_url": "/football/matches/kas-mpasa-vs-samsunspor-2026-10-18/",
   "kickoff": "2026-10-18T10:30:00.000Z",
   "competition": "Süper Lig",
   "lead_hours": 45.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Kasımpaşa 1-0 Samsunspor",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "4-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-16T12:06:46.000Z",
   "recorded_at": "2026-10-16T13:09:52.593Z",
   "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-939fafbe7a8b084a9eb904b4",
    "quote_text": "We say: Kasimpasa 1-0 Samsunspor",
    "fragment_from": 4454,
    "fragment_to": 4486,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/kasimpasa/preview/kasimpasa-vs-samsunspor-prediction-team-news-lineups_607047.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "43a488dd0ae151bc81c2b74fbd9dfb8ee2de5bf6a2774fa3bd74bd83a58f4a4e",
     "material_removed": false
    },
    "published_at": "2026-10-16T12:06:46.000Z",
    "detected_at": "2026-10-16T13:09:52.593Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-56b1217fb91d",
     "display_name": "Kasımpaşa — Samsunspor",
     "competition_name": "Süper Lig",
     "starts_at": "2026-10-18T10:30:00.000Z",
     "url": "/football/matches/kas-mpasa-vs-samsunspor-2026-10-18/",
     "scoreline": "4-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Kasımpaşa 1-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-16T12:06:46.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-16T12:06:46.000Z",
     "detected_at": "2026-10-16T13:09:52.593Z",
     "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-0 Samsunspor",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Kasımpaşa 1-0 Samsunspor"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "4-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Kasımpaşa 4-1 Samsunspor."
    },
    "settlements": [
     {
      "operation_id": "7a5e7528189b61e38c84198a01d575bf46b42bc108b645ee3b9b678227d46db4",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Kasımpaşa",
      "decimal_odds": "2.4800",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 14800,
      "executed_at": "2026-10-22T11:58:05.736Z",
      "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-samsunspor-prediction-team-news-lineups_607047.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Kasımpaşa 1-0 Samsunspor"
   }
  },
  {
   "record_id": "n-03c594a266e49295e20ffc2c",
   "url": "/authors/joshua-cole/picks/5/#pick-n-03c594a266e49295e20ffc2c",
   "match": "Fenerbahçe v Alanyaspor",
   "match_url": "/football/matches/fenerbahce-vs-alanyaspor-2026-10-17/",
   "kickoff": "2026-10-17T16:00:00.000Z",
   "competition": "Süper Lig",
   "lead_hours": 41.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Fenerbahçe 2-0 Alanyaspor",
   "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-15T21:13:35.000Z",
   "recorded_at": "2026-10-15T22:09:59.918Z",
   "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-03c594a266e49295e20ffc2c",
    "quote_text": "We say: Fenerbahce 2-0 Alanyaspor",
    "fragment_from": 4056,
    "fragment_to": 4089,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/fenerbahce/preview/fenerbahce-vs-alanyaspor-prediction-team-news-lineups_607003.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "bebf58a2c74febc0438e934783d961b9087ce05493afabd80b0b4b39c2deb522",
     "material_removed": false
    },
    "published_at": "2026-10-15T21:13:35.000Z",
    "detected_at": "2026-10-15T22:09:59.918Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-a22216e60c4f",
     "display_name": "Fenerbahçe — Alanyaspor",
     "competition_name": "Süper Lig",
     "starts_at": "2026-10-17T16:00:00.000Z",
     "url": "/football/matches/fenerbahce-vs-alanyaspor-2026-10-17/",
     "scoreline": "3-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Fenerbahçe 2-0 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-15T21:13:35.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-15T21:13:35.000Z",
     "detected_at": "2026-10-15T22:09:59.918Z",
     "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-0 Alanyaspor",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Fenerbahçe 2-0 Alanyaspor"
    },
    "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 Fenerbahçe 3-0 Alanyaspor."
    },
    "settlements": [
     {
      "operation_id": "00886a85ab233919ad458fc9c33e63474604f53c52468e4afece8b3fdce7b0d8",
      "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.2800",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 2800,
      "executed_at": "2026-10-22T11:03:03.992Z",
      "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-alanyaspor-prediction-team-news-lineups_607003.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Fenerbahçe 2-0 Alanyaspor"
   }
  },
  {
   "record_id": "n-27d6448c203e7a2316b5217a",
   "url": "/authors/joshua-cole/picks/5/#pick-n-27d6448c203e7a2316b5217a",
   "match": "Amed SK v Konyaspor",
   "match_url": "/football/matches/amed-sk-vs-konyaspor-2026-10-17/",
   "kickoff": "2026-10-17T13:00:00.000Z",
   "competition": "Süper Lig",
   "lead_hours": 35.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Amed SK 2-0 Konyaspor",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-15T21:11:00.000Z",
   "recorded_at": "2026-10-16T01:10:00.244Z",
   "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-27d6448c203e7a2316b5217a",
    "quote_text": "We say: Amed SK 2-0 Konyaspor",
    "fragment_from": 3481,
    "fragment_to": 3510,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/amed-sk/preview/amed-sk-vs-konyaspor-prediction-team-news-lineups_606999.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "2cb45952774977d75001229a2db833bb563ab1a9f5c6335feb0478d852b22b28",
     "material_removed": false
    },
    "published_at": "2026-10-15T21:11:00.000Z",
    "detected_at": "2026-10-16T01:10:00.244Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-5b0841f2303b",
     "display_name": "Amed SK — Konyaspor",
     "competition_name": "Süper Lig",
     "starts_at": "2026-10-17T13:00:00.000Z",
     "url": "/football/matches/amed-sk-vs-konyaspor-2026-10-17/",
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Amed SK 2-0 Konyaspor",
    "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-15T21:11:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-15T21:11:00.000Z",
     "detected_at": "2026-10-16T01:10:00.244Z",
     "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": "Amed SK 2-0 Konyaspor",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Amed SK 2-0 Konyaspor"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Amed SK 1-0 Konyaspor."
    },
    "settlements": [
     {
      "operation_id": "b33e4c929e6844c7763ff9392ca9a32db5be84b71925927058813e075ad22a00",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Amed SK",
      "decimal_odds": "1.8800",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 8800,
      "executed_at": "2026-10-23T00:50:20.423Z",
      "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/amed-sk/preview/amed-sk-vs-konyaspor-prediction-team-news-lineups_606999.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Amed SK 2-0 Konyaspor"
   }
  },
  {
   "record_id": "n-1a6fe3c0fe199d35c232424a",
   "url": "/authors/joshua-cole/picks/5/#pick-n-1a6fe3c0fe199d35c232424a",
   "match": "Gençlerbirliği v Galatasaray",
   "match_url": "/football/matches/genclerbirligi-vs-galatasaray-2026-10-17/",
   "kickoff": "2026-10-17T13:00:00.000Z",
   "competition": "Süper Lig",
   "lead_hours": 35.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Gençlerbirliği 1-3 Galatasaray",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-15T21:13:01.000Z",
   "recorded_at": "2026-10-16T01:09:58.721Z",
   "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-1a6fe3c0fe199d35c232424a",
    "quote_text": "We say: Genclerbirligi 1-3 Galatasaray",
    "fragment_from": 3918,
    "fragment_to": 3956,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/genclerbirligi/preview/genclerbirligi-vs-galatasaray-prediction-team-news-lineups_607002.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "e27e1f1b1b65c39e9ca85cb0091b44f930d275314ece5ca96809dfec124820fa",
     "material_removed": false
    },
    "published_at": "2026-10-15T21:13:01.000Z",
    "detected_at": "2026-10-16T01:09:58.721Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-b033b0017868",
     "display_name": "Gençlerbirliği — Galatasaray",
     "competition_name": "Süper Lig",
     "starts_at": "2026-10-17T13:00:00.000Z",
     "url": "/football/matches/genclerbirligi-vs-galatasaray-2026-10-17/",
     "scoreline": "0-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Gençlerbirliği 1-3 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-15T21:13:01.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-15T21:13:01.000Z",
     "detected_at": "2026-10-16T01:09:58.721Z",
     "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-3 Galatasaray",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-3",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Gençlerbirliği 1-3 Galatasaray"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Gençlerbirliği 0-1 Galatasaray."
    },
    "settlements": [
     {
      "operation_id": "a20905f542ef3506734efebc146f004b34dd10f81916cb27c5083a7a286a224c",
      "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.3500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 3500,
      "executed_at": "2026-10-22T11:11:04.721Z",
      "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-galatasaray-prediction-team-news-lineups_607002.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Gençlerbirliği 1-3 Galatasaray"
   }
  },
  {
   "record_id": "n-d6e3b03ae4e51476a76108eb",
   "url": "/authors/joshua-cole/picks/5/#pick-n-d6e3b03ae4e51476a76108eb",
   "match": "Dinamo Zagreb v Anderlecht",
   "match_url": "/football/matches/dinamo-zagreb-vs-anderlecht-2026-10-15/",
   "kickoff": "2026-10-15T19:00:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 50.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Dinamo Zagreb 2-1 Anderlecht",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-13T15:40:45.000Z",
   "recorded_at": "2026-10-13T16:09:54.295Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "2.0000",
    "result": "Won",
    "points_hundredths": 10000,
    "picked_favourite": true
   },
   "platform": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-d6e3b03ae4e51476a76108eb",
    "quote_text": "We say: Dinamo Zagreb 2-1 Anderlecht",
    "fragment_from": 4104,
    "fragment_to": 4140,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/dinamo-zagreb/europa-league/preview/dinamo-zagreb-vs-anderlecht-prediction-team-news-lineups_606824.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "33c57a611dea556490cd3b9d81e05737b8768acd5946c33d9070b1dde1974d2f",
     "material_removed": false
    },
    "published_at": "2026-10-13T15:40:45.000Z",
    "detected_at": "2026-10-13T16:09:54.295Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-0677921d1759",
     "display_name": "Dinamo Zagreb — Anderlecht",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-10-15T19:00:00.000Z",
     "url": "/football/matches/dinamo-zagreb-vs-anderlecht-2026-10-15/",
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Dinamo Zagreb 2-1 Anderlecht",
    "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-13T15:40:45.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-13T15:40:45.000Z",
     "detected_at": "2026-10-13T16:09:54.295Z",
     "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": "Dinamo Zagreb 2-1 Anderlecht",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Dinamo Zagreb 2-1 Anderlecht"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Dinamo Zagreb 1-0 Anderlecht."
    },
    "settlements": [
     {
      "operation_id": "166b62a727292def8604ba67bfa6ef9dda9554f283f4518b279be3a0f4c437d4",
      "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": "Dinamo Zagreb",
      "decimal_odds": "2.0000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 10000,
      "executed_at": "2026-10-13T22:42:03.032Z",
      "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/dinamo-zagreb/europa-league/preview/dinamo-zagreb-vs-anderlecht-prediction-team-news-lineups_606824.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Dinamo Zagreb 2-1 Anderlecht"
   }
  },
  {
   "record_id": "n-940c1b5f6f131e8afef5867f",
   "url": "/authors/joshua-cole/picks/5/#pick-n-940c1b5f6f131e8afef5867f",
   "match": "Kuopion Palloseura v Trabzonspor",
   "match_url": "/football/matches/kuopion-palloseura-vs-trabzonspor-2026-10-15/",
   "kickoff": "2026-10-15T16:45:00.000Z",
   "competition": "UEFA Conference League",
   "lead_hours": 48.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Kuopion Palloseura 0-2 Trabzonspor",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-4",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-13T15:40:59.000Z",
   "recorded_at": "2026-10-13T16:09:53.874Z",
   "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-940c1b5f6f131e8afef5867f",
    "quote_text": "We say: KuPS 0-2 Trabzonspor",
    "fragment_from": 4228,
    "fragment_to": 4256,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/kups/europa-conference-league/preview/kups-vs-trabzonspor-prediction-team-news-lineups_606825.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "37a782dd71a3f48bc065b732b113d5eaf157ca8187d54822f67374081f34c13a",
     "material_removed": false
    },
    "published_at": "2026-10-13T15:40:59.000Z",
    "detected_at": "2026-10-13T16:09:53.874Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-fc9bf1d276b1",
     "display_name": "Kuopion Palloseura — Trabzonspor",
     "competition_name": "UEFA Conference League",
     "starts_at": "2026-10-15T16:45:00.000Z",
     "url": "/football/matches/kuopion-palloseura-vs-trabzonspor-2026-10-15/",
     "scoreline": "2-4",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Kuopion Palloseura 0-2 Trabzonspor",
    "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-13T15:40:59.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-13T15:40:59.000Z",
     "detected_at": "2026-10-13T16:09:53.874Z",
     "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": "Kuopion Palloseura 0-2 Trabzonspor",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "0-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Kuopion Palloseura 0-2 Trabzonspor"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-4",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Kuopion Palloseura 2-4 Trabzonspor."
    },
    "settlements": [
     {
      "operation_id": "b93db2a5b4df2fd161e1771d6506de03b7c20289079eca6393506096ad6a6d8b",
      "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": "Trabzonspor",
      "decimal_odds": "1.4700",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 4700,
      "executed_at": "2026-10-22T11:58:05.836Z",
      "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/kups/europa-conference-league/preview/kups-vs-trabzonspor-prediction-team-news-lineups_606825.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Kuopion Palloseura 0-2 Trabzonspor"
   }
  },
  {
   "record_id": "n-aaca6dd60e49ce781fc5f555",
   "url": "/authors/joshua-cole/picks/5/#pick-n-aaca6dd60e49ce781fc5f555",
   "match": "Fluminense v Palmeiras",
   "match_url": "/football/matches/fluminense-vs-palmeiras-2026-10-15/",
   "kickoff": "2026-10-15T00:30:00.000Z",
   "competition": "Copa Libertadores",
   "lead_hours": 32.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Fluminense 1-0 Palmeiras",
   "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-13T15:40:31.000Z",
   "recorded_at": "2026-10-13T16:09:54.728Z",
   "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-aaca6dd60e49ce781fc5f555",
    "quote_text": "We say: Fluminense 1-0 Palmeiras",
    "fragment_from": 4906,
    "fragment_to": 4938,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/fluminense/copa-libertadores/preview/fluminense-vs-palmeiras-prediction-team-news-lineups_606822.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "95cd9e01be298336ea6c607a5c42f2fd1b97881466ae719295b47c36acdd9a1e",
     "material_removed": false
    },
    "published_at": "2026-10-13T15:40:31.000Z",
    "detected_at": "2026-10-13T16:09:54.728Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-7374ce135c1b",
     "display_name": "Fluminense — Palmeiras",
     "competition_name": "Copa Libertadores",
     "starts_at": "2026-10-15T00:30:00.000Z",
     "url": "/football/matches/fluminense-vs-palmeiras-2026-10-15/",
     "scoreline": "1-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Fluminense 1-0 Palmeiras",
    "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-13T15:40:31.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-13T15:40:31.000Z",
     "detected_at": "2026-10-13T16:09:54.728Z",
     "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": "Fluminense 1-0 Palmeiras",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Fluminense 1-0 Palmeiras"
    },
    "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 Fluminense 1-2 Palmeiras."
    },
    "settlements": [
     {
      "operation_id": "18dac03650156bb5c639be138864c6b460f50330277c29aed12acf313da8ef56",
      "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": "Fluminense",
      "decimal_odds": "2.8500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-22T12:08:02.610Z",
      "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/fluminense/copa-libertadores/preview/fluminense-vs-palmeiras-prediction-team-news-lineups_606822.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Fluminense 1-0 Palmeiras"
   }
  },
  {
   "record_id": "n-7099a81c36b75c5f01c5a31e",
   "url": "/authors/joshua-cole/picks/5/#pick-n-7099a81c36b75c5f01c5a31e",
   "match": "Aston Villa v Fenerbahçe",
   "match_url": "/football/matches/aston-villa-vs-fenerbahce-2026-10-14/",
   "kickoff": "2026-10-14T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 53.9,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Aston Villa 2-1 Fenerbahçe at 8.5",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "6-0",
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-12T12:57:09.000Z",
   "recorded_at": "2026-10-12T13:04:16.699Z",
   "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-7099a81c36b75c5f01c5a31e",
    "quote_text": "> Correct score: Aston Villa 2-1 Fenerbahce at 15/2 (8.50) | Likelihood: Low",
    "fragment_from": 5047,
    "fragment_to": 5123,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/aston-villa-vs-fenerbahce-prediction-14-10-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "afd43a485de65c35d015e32e7b9d9e9ae157102bd238bb3fa06886ddb6fcc7c5",
     "material_removed": false
    },
    "published_at": "2026-10-12T12:57:09.000Z",
    "detected_at": "2026-10-12T13:04:16.699Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "ambiguous",
    "event": {
     "event_id": "s-51292fa0ec5c",
     "display_name": "Aston Villa — Fenerbahçe",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-14T19:00:00.000Z",
     "url": "/football/matches/aston-villa-vs-fenerbahce-2026-10-14/",
     "scoreline": "6-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Aston Villa 2-1 Fenerbahçe",
    "odds_set": {
     "by_author": "8.5",
     "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-12T12:57:09.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-12T12:57:09.000Z",
     "detected_at": "2026-10-12T13:04:16.699Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Aston Villa 2-1 Fenerbahçe",
     "author_odds": "8.5",
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Aston Villa 2-1 Fenerbahçe at 8.5"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "6-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Aston Villa 6-0 Fenerbahçe."
    },
    "settlements": [
     {
      "operation_id": "7eeb51262cbc2786b742495e85c43a6f801ef5a832823c4ac8b6d3d97fa048d9",
      "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": "Aston Villa",
      "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/aston-villa-vs-fenerbahce-prediction-14-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Aston Villa 2-1 Fenerbahçe"
   }
  },
  {
   "record_id": "n-1762b32bc3f7d7ff5c65bea1",
   "url": "/authors/joshua-cole/picks/4/#pick-n-1762b32bc3f7d7ff5c65bea1",
   "match": "Eyüpspor v Göztepe",
   "match_url": "/football/matches/eyupspor-vs-goztepe-2026-10-12/",
   "kickoff": "2026-10-12T17:00:00.000Z",
   "competition": "Süper Lig",
   "lead_hours": 54.0,
   "market_code": "1x2",
   "author_said": "1X2, match result: Göztepe",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "0-4",
   "reason": "graded against the result: right",
   "reason_code": "not_checked",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-10T10:59:50.000Z",
   "recorded_at": "2026-10-10T11:02:54.680Z",
   "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-1762b32bc3f7d7ff5c65bea1",
    "quote_text": "The visitors are still searching for their first league victory, but their greater attacking consistency gives them a chance to secure all three points.",
    "fragment_from": 4764,
    "fragment_to": 4916,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/eyupspor/preview/eyupspor-vs-goztepe-sk-prediction-team-news-lineups_606619.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "cf0c393c67495ab1f9751672b8414a05756c59e352b808304d695bd0e7d2c578",
     "material_removed": false
    },
    "published_at": "2026-10-10T10:59:50.000Z",
    "detected_at": "2026-10-10T11:02:54.680Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-b32377970879",
     "display_name": "Eyüpspor — Göztepe",
     "competition_name": "Süper Lig",
     "starts_at": "2026-10-12T17:00:00.000Z",
     "url": "/football/matches/eyupspor-vs-goztepe-2026-10-12/",
     "scoreline": "0-4",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "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": "win",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-10T10:59:50.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-10T10:59:50.000Z",
     "detected_at": "2026-10-10T11:02:54.680Z",
     "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": "Göztepe",
     "author_odds": null,
     "market_key": "1x2",
     "choice_key": "2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Göztepe"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "0-4",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Eyüpspor 0-4 Göztepe."
    },
    "settlements": [
     {
      "operation_id": "748568b511d385704c6f3eed70d8208909a8ac7cf86f38fa15a3615189de5c30",
      "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": "Göztepe",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joshua Cole",
     "publisher": "Sports Mole",
     "forecaster": "Joshua Cole",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/eyupspor/preview/eyupspor-vs-goztepe-sk-prediction-team-news-lineups_606619.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Göztepe to win"
   }
  },
  {
   "record_id": "n-ea16d5d180367dfc198c4026",
   "url": "/authors/joshua-cole/picks/4/#pick-n-ea16d5d180367dfc198c4026",
   "match": "Eyüpspor v Göztepe",
   "match_url": "/football/matches/eyupspor-vs-goztepe-2026-10-12/",
   "kickoff": "2026-10-12T17:00:00.000Z",
   "competition": "Süper Lig",
   "lead_hours": 54.0,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Eyüpspor 1-2 Göztepe",
   "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-10T10:59:50.000Z",
   "recorded_at": "2026-10-10T11:02:54.680Z",
   "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-ea16d5d180367dfc198c4026",
    "quote_text": "We say: Eyupspor 1-2 Goztepe SK",
    "fragment_from": 4487,
    "fragment_to": 4518,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/eyupspor/preview/eyupspor-vs-goztepe-sk-prediction-team-news-lineups_606619.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "cf0c393c67495ab1f9751672b8414a05756c59e352b808304d695bd0e7d2c578",
     "material_removed": false
    },
    "published_at": "2026-10-10T10:59:50.000Z",
    "detected_at": "2026-10-10T11:02:54.680Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-b32377970879",
     "display_name": "Eyüpspor — Göztepe",
     "competition_name": "Süper Lig",
     "starts_at": "2026-10-12T17:00:00.000Z",
     "url": "/football/matches/eyupspor-vs-goztepe-2026-10-12/",
     "scoreline": "0-4",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Eyüpspor 1-2 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-10T10:59:50.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-10T10:59:50.000Z",
     "detected_at": "2026-10-10T11:02:54.680Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Eyüpspor 1-2 Göztepe",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Eyüpspor 1-2 Göztepe"
    },
    "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 Eyüpspor 0-4 Göztepe."
    },
    "settlements": [
     {
      "operation_id": "306459845d28d9ac733de0813125f84cea6b14375d3bcaa06886942d2fc7d3ee",
      "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": "Göztepe",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joshua Cole",
     "publisher": "Sports Mole",
     "forecaster": "Joshua Cole",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/eyupspor/preview/eyupspor-vs-goztepe-sk-prediction-team-news-lineups_606619.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Eyüpspor 1-2 Göztepe"
   }
  },
  {
   "record_id": "n-26440aebeb565feccd96bf7b",
   "url": "/authors/joshua-cole/picks/4/#pick-n-26440aebeb565feccd96bf7b",
   "match": "Beşiktaş v Kocaelispor",
   "match_url": "/football/matches/besiktas-vs-kocaelispor-2026-10-11/",
   "kickoff": "2026-10-11T16:00:00.000Z",
   "competition": "Süper Lig",
   "lead_hours": 35.9,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Beşiktaş 2-1 Kocaelispor",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "2-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-09T22:06:45.000Z",
   "recorded_at": "2026-10-10T04:05:21.945Z",
   "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-26440aebeb565feccd96bf7b",
    "quote_text": "We say: Besiktas 2-1 Kocaelispor",
    "fragment_from": 3730,
    "fragment_to": 3762,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/besiktas/preview/besiktas-vs-kocaelispor-prediction-team-news-lineups_606598.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "5605b5e5e5df890f4935447ca5a261ff6ba15c2dddf11553bf1e3e27994829a3",
     "material_removed": false
    },
    "published_at": "2026-10-09T22:06:45.000Z",
    "detected_at": "2026-10-10T04:05:21.945Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-e69d49b3ae17",
     "display_name": "Beşiktaş — Kocaelispor",
     "competition_name": "Süper Lig",
     "starts_at": "2026-10-11T16:00:00.000Z",
     "url": "/football/matches/besiktas-vs-kocaelispor-2026-10-11/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Beşiktaş 2-1 Kocaelispor",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "win",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-09T22:06:45.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-09T22:06:45.000Z",
     "detected_at": "2026-10-10T04:05:21.945Z",
     "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 Kocaelispor",
     "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 Kocaelispor"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Matched: the final score was Beşiktaş 2-1 Kocaelispor."
    },
    "settlements": [
     {
      "operation_id": "8fab563b0bee6154eeb4aea3e995a8146bbb557b288ca24903908d802fc360fa",
      "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.2800",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 2800,
      "executed_at": "2026-10-23T00:54:22.805Z",
      "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-kocaelispor-prediction-team-news-lineups_606598.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Beşiktaş 2-1 Kocaelispor"
   }
  },
  {
   "record_id": "n-0e9c2769f24aebffc9dd8c95",
   "url": "/authors/joshua-cole/picks/4/#pick-n-0e9c2769f24aebffc9dd8c95",
   "match": "Stade Rennais v Auxerre",
   "match_url": "/football/matches/stade-rennais-vs-auxerre-2026-10-11/",
   "kickoff": "2026-10-11T15:15:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 13.1,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Stade Rennais 2-0 Auxerre",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "4-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-10T23:00:00.000Z",
   "recorded_at": "2026-10-11T02:10:34.023Z",
   "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.4202",
    "result": "Won",
    "points_hundredths": 4202,
    "picked_favourite": true
   },
   "platform": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-0e9c2769f24aebffc9dd8c95",
    "quote_text": "We say: Rennes 2-0 Auxerre",
    "fragment_from": 1416,
    "fragment_to": 1442,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/troyes/ligue-1-predictions/feature/marseille-to-return-to-winning-ways-sundays-ligue-1-predictions_606617.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "951e7d965fed6fc1d42332388566dffd2818649ce44c0aa508ae3ee9b4244045",
     "material_removed": false
    },
    "published_at": "2026-10-10T23:00:00.000Z",
    "detected_at": "2026-10-11T02:10:34.023Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-8736de637615",
     "display_name": "Stade Rennais — Auxerre",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-11T15:15:00.000Z",
     "url": "/football/matches/stade-rennais-vs-auxerre-2026-10-11/",
     "scoreline": "4-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Stade Rennais 2-0 Auxerre",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-10T23:00:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-10T23:00:00.000Z",
     "detected_at": "2026-10-11T02:10:34.023Z",
     "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 2-0 Auxerre",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Stade Rennais 2-0 Auxerre"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "4-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Stade Rennais 4-1 Auxerre."
    },
    "settlements": [
     {
      "operation_id": "4c0f1859e519820406193fafbd7d8f52b4dd0a324fd065a2f0054bf6269ca1e3",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Stade Rennais",
      "decimal_odds": "1.4202",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 4202,
      "executed_at": "2026-10-11T03:02:36.460Z",
      "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/troyes/ligue-1-predictions/feature/marseille-to-return-to-winning-ways-sundays-ligue-1-predictions_606617.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Stade Rennais 2-0 Auxerre"
   }
  },
  {
   "record_id": "n-3fece55dfba254ebacf32b2f",
   "url": "/authors/joshua-cole/picks/4/#pick-n-3fece55dfba254ebacf32b2f",
   "match": "Nice v RC Strasbourg",
   "match_url": "/football/matches/nice-vs-rc-strasbourg-2026-10-11/",
   "kickoff": "2026-10-11T13:00:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 10.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Nice 1-1 RC Strasbourg",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-10T23:00:00.000Z",
   "recorded_at": "2026-10-11T02:10:34.023Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "2.3000",
    "result": "Won",
    "points_hundredths": 13000,
    "picked_favourite": false
   },
   "platform": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-3fece55dfba254ebacf32b2f",
    "quote_text": "We say: Nice 1-1 Strasbourg",
    "fragment_from": 774,
    "fragment_to": 801,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/troyes/ligue-1-predictions/feature/marseille-to-return-to-winning-ways-sundays-ligue-1-predictions_606617.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "951e7d965fed6fc1d42332388566dffd2818649ce44c0aa508ae3ee9b4244045",
     "material_removed": false
    },
    "published_at": "2026-10-10T23:00:00.000Z",
    "detected_at": "2026-10-11T02:10:34.023Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-98cb3d9d0835",
     "display_name": "Nice — RC Strasbourg",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-11T13:00:00.000Z",
     "url": "/football/matches/nice-vs-rc-strasbourg-2026-10-11/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Nice 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-10T23:00:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-10T23:00:00.000Z",
     "detected_at": "2026-10-11T02:10:34.023Z",
     "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": "Nice 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: Nice 1-1 RC Strasbourg"
    },
    "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 Nice 2-1 RC Strasbourg."
    },
    "settlements": [
     {
      "operation_id": "1eb0f806a6601c7a8ab0dfdb0110cac96e7da4137e1ce836cd6f331a99f759a4",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "3.5000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-11T03:02:33.692Z",
      "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/troyes/ligue-1-predictions/feature/marseille-to-return-to-winning-ways-sundays-ligue-1-predictions_606617.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Nice 1-1 RC Strasbourg"
   }
  },
  {
   "record_id": "n-7aeda5d047303cb8e204be5e",
   "url": "/authors/joshua-cole/picks/4/#pick-n-7aeda5d047303cb8e204be5e",
   "match": "Konyaspor v İstanbul Başakşehir",
   "match_url": "/football/matches/konyaspor-vs-istanbul-basaksehir-2026-10-11/",
   "kickoff": "2026-10-11T10:30:00.000Z",
   "competition": "Süper Lig",
   "lead_hours": 31.4,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Konyaspor 1-1 İstanbul Başakşehir",
   "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-09T22:07:07.000Z",
   "recorded_at": "2026-10-10T03:04:55.218Z",
   "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-7aeda5d047303cb8e204be5e",
    "quote_text": "We say: Konyaspor 1-1 Istanbul Basaksehir",
    "fragment_from": 4178,
    "fragment_to": 4219,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/konyaspor/preview/konyaspor-vs-istanbul-prediction-team-news-lineups_606601.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "60d3afdd2d3cb72a28bc9c5b974d5d3ef8810cb30f141dd29db917ec5cf62446",
     "material_removed": false
    },
    "published_at": "2026-10-09T22:07:07.000Z",
    "detected_at": "2026-10-10T03:04:55.218Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-d312f62f6591",
     "display_name": "Konyaspor — İstanbul Başakşehir",
     "competition_name": "Süper Lig",
     "starts_at": "2026-10-11T10:30:00.000Z",
     "url": "/football/matches/konyaspor-vs-istanbul-basaksehir-2026-10-11/",
     "scoreline": "0-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Konyaspor 1-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-09T22:07:07.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-09T22:07:07.000Z",
     "detected_at": "2026-10-10T03:04:55.218Z",
     "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-1 İstanbul Başakşehir",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Konyaspor 1-1 İstanbul Başakşehir"
    },
    "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 Konyaspor 0-0 İstanbul Başakşehir."
    },
    "settlements": [
     {
      "operation_id": "fac68fdae6e1d829112301404a984ee13ab83f0e50892533fcc64a323f0914c5",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "3.4000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 24000,
      "executed_at": "2026-10-22T11:47:36.185Z",
      "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-istanbul-prediction-team-news-lineups_606601.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Konyaspor 1-1 İstanbul Başakşehir"
   }
  },
  {
   "record_id": "n-14d0b7f6aedf41578f2e82dd",
   "url": "/authors/joshua-cole/picks/4/#pick-n-14d0b7f6aedf41578f2e82dd",
   "match": "Samsunspor v Trabzonspor",
   "match_url": "/football/matches/samsunspor-vs-trabzonspor-2026-10-10/",
   "kickoff": "2026-10-10T13:00:00.000Z",
   "competition": "Süper Lig",
   "lead_hours": 40.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Samsunspor 0-2 Trabzonspor",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-3",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-08T19:22:00.000Z",
   "recorded_at": "2026-10-08T20:10:04.761Z",
   "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-14d0b7f6aedf41578f2e82dd",
    "quote_text": "We say: Samsunspor 0-2 Trabzonspor",
    "fragment_from": 4479,
    "fragment_to": 4513,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/samsunspor/preview/samsunspor-vs-trabzonspor-prediction-team-news-lineups_606499.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "ae16071b358eba1f0a98565f19138909a5a963bd58e841775798a6528188c722",
     "material_removed": false
    },
    "published_at": "2026-10-08T19:22:00.000Z",
    "detected_at": "2026-10-08T20:10:04.761Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-266202345d56",
     "display_name": "Samsunspor — Trabzonspor",
     "competition_name": "Süper Lig",
     "starts_at": "2026-10-10T13:00:00.000Z",
     "url": "/football/matches/samsunspor-vs-trabzonspor-2026-10-10/",
     "scoreline": "0-3",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Samsunspor 0-2 Trabzonspor",
    "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-08T19:22:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-08T19:22:00.000Z",
     "detected_at": "2026-10-08T20:10:04.761Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Samsunspor 0-2 Trabzonspor",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "0-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Samsunspor 0-2 Trabzonspor"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Samsunspor 0-3 Trabzonspor."
    },
    "settlements": [
     {
      "operation_id": "c273da81ef1f7db9bee1b68b175683b9fa47783dcf47aff2db5705cc1efb7602",
      "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": "Trabzonspor",
      "decimal_odds": "1.9700",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 9700,
      "executed_at": "2026-10-23T00:54:57.397Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joshua Cole",
     "publisher": "Sports Mole",
     "forecaster": "Joshua Cole",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/samsunspor/preview/samsunspor-vs-trabzonspor-prediction-team-news-lineups_606499.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Samsunspor 0-2 Trabzonspor"
   }
  },
  {
   "record_id": "n-db9e4d3cdf8df51986576edc",
   "url": "/authors/joshua-cole/picks/4/#pick-n-db9e4d3cdf8df51986576edc",
   "match": "Gençlerbirliği v Amed SK",
   "match_url": "/football/matches/genclerbirligi-vs-amed-sk-2026-10-10/",
   "kickoff": "2026-10-10T10:30:00.000Z",
   "competition": "Süper Lig",
   "lead_hours": 37.5,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Gençlerbirliği 1-2 Amed SK",
   "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-08T19:19:39.000Z",
   "recorded_at": "2026-10-08T21:02:39.705Z",
   "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-db9e4d3cdf8df51986576edc",
    "quote_text": "We say: Genclerbirligi 1-2 Amed SK",
    "fragment_from": 4244,
    "fragment_to": 4278,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/genclerbirligi/preview/genclerbirligi-vs-amed-sk-prediction-team-news-lineups_606495.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "474a9d9fbc7624302d5e9abfd3b606ec4067534cb81f429ec6935987e980eb37",
     "material_removed": false
    },
    "published_at": "2026-10-08T19:19:39.000Z",
    "detected_at": "2026-10-08T21:02:39.705Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-4a1915d7ef06",
     "display_name": "Gençlerbirliği — Amed SK",
     "competition_name": "Süper Lig",
     "starts_at": "2026-10-10T10:30:00.000Z",
     "url": "/football/matches/genclerbirligi-vs-amed-sk-2026-10-10/",
     "scoreline": "2-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Gençlerbirliği 1-2 Amed SK",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "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-08T19:19:39.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-08T19:19:39.000Z",
     "detected_at": "2026-10-08T21:02:39.705Z",
     "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-2 Amed SK",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Gençlerbirliği 1-2 Amed SK"
    },
    "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 Gençlerbirliği 2-2 Amed SK."
    },
    "settlements": [
     {
      "operation_id": "22c426362c23af9e90285174812a1d76beb66ed4efd6b2c87a08255b97d52bee",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Amed SK",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joshua Cole",
     "publisher": "Sports Mole",
     "forecaster": "Joshua Cole",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/genclerbirligi/preview/genclerbirligi-vs-amed-sk-prediction-team-news-lineups_606495.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Gençlerbirliği 1-2 Amed SK"
   }
  },
  {
   "record_id": "n-bfad0b86bb4dfa18b8fb7f3f",
   "url": "/authors/joshua-cole/picks/4/#pick-n-bfad0b86bb4dfa18b8fb7f3f",
   "match": "RC Lens v Olympique Lyonnais",
   "match_url": "/football/matches/rc-lens-vs-olympique-lyonnais-2026-10-09/",
   "kickoff": "2026-10-09T18:45:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 52.7,
   "market_code": "correct_score_market",
   "author_said": "Correct score: RC Lens 1-2 Olympique Lyonnais at 10",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-1",
   "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-07T13:27:23.000Z",
   "recorded_at": "2026-10-07T14:05:36.146Z",
   "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-bfad0b86bb4dfa18b8fb7f3f",
    "quote_text": "Correct score: Lens 1-2 Lyon at 9/1 (10.00",
    "fragment_from": 4201,
    "fragment_to": 4243,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/lens-vs-lyon-prediction-09-10-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "5e68ef39196a093ca651e3ea9e4c82f73daedf8fbc5ee7dbb7c24a81cb7d8585",
     "material_removed": false
    },
    "published_at": "2026-10-07T13:27:23.000Z",
    "detected_at": "2026-10-07T14:05:36.146Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-8671e54fe987",
     "display_name": "RC Lens — Olympique Lyonnais",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-09T18:45:00.000Z",
     "url": "/football/matches/rc-lens-vs-olympique-lyonnais-2026-10-09/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "RC Lens 1-2 Olympique Lyonnais",
    "odds_set": {
     "by_author": "10",
     "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-07T13:27:23.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-07T13:27:23.000Z",
     "detected_at": "2026-10-07T14:05:36.146Z",
     "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": "RC Lens 1-2 Olympique Lyonnais",
     "author_odds": "10",
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: RC Lens 1-2 Olympique Lyonnais at 10"
    },
    "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 RC Lens 2-1 Olympique Lyonnais."
    },
    "settlements": [
     {
      "operation_id": "69aa1a639e52538de521786251d4c146391b0588458ce714b8668a339e451444",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "RC Lens 1-2 Olympique Lyonnais",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.1",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "5112f64bde11a071a16238e9a00e9dd98d2133b3aed067460d7e9a53bb94301f",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Olympique Lyonnais",
      "decimal_odds": 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.1",
      "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/lens-vs-lyon-prediction-09-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "RC Lens 1-2 Olympique Lyonnais"
   }
  },
  {
   "record_id": "n-88b4180f048f07bcd9cb82d4",
   "url": "/authors/joshua-cole/picks/4/#pick-n-88b4180f048f07bcd9cb82d4",
   "match": "Moreirense v Gil Vicente",
   "match_url": "/football/matches/moreirense-vs-gil-vicente-2026-10-09/",
   "kickoff": "2026-10-09T17:45:00.000Z",
   "competition": "Primeira Liga",
   "lead_hours": 45.7,
   "market_code": "both_teams_score_and_result",
   "author_said": "Match result and both teams to score: draw, both teams to score: yes",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-1",
   "reason": "",
   "reason_code": "not_admitted",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-07T19:28:38.000Z",
   "recorded_at": "2026-10-07T20:04:21.776Z",
   "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-88b4180f048f07bcd9cb82d4",
    "quote_text": "we believe they will cancel each other out, with both teams scoring in a draw.",
    "fragment_from": 4406,
    "fragment_to": 4484,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/moreirense/preview/moreirense-vs-gil-vicente-prediction-team-news-lineups_606399.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "f8d442f4aebca780ac47d5d954f06cd8f0119e7b3d47aa4c18affc43e36ad2d2",
     "material_removed": false
    },
    "published_at": "2026-10-07T19:28:38.000Z",
    "detected_at": "2026-10-07T20:04:21.776Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": "",
    "cause_code": "no_price_at_capture",
    "event": {
     "event_id": "s-a69478851d29",
     "display_name": "Moreirense — Gil Vicente",
     "competition_name": "Primeira Liga",
     "starts_at": "2026-10-09T17:45:00.000Z",
     "url": "/football/matches/moreirense-vs-gil-vicente-2026-10-09/",
     "scoreline": "0-1",
     "condition": "finished"
    },
    "market_label": "Match result and both teams to score",
    "outcome_label": "draw, both teams to score: yes",
    "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-07T19:28:38.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-07T19:28:38.000Z",
     "detected_at": "2026-10-07T20:04:21.776Z",
     "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": "Match result and both teams to score",
     "choice": "draw, both teams to score: yes",
     "author_odds": null,
     "market_key": "both_teams_score_and_result",
     "choice_key": "X-yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Match result and both teams to score: draw, both teams to score: yes"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Moreirense 0-1 Gil Vicente."
    },
    "settlements": [
     {
      "operation_id": "3751f9a8c1df03c3ca1ff8b83a39bd32a7c9dd405ca926cf484df9c97253b5c6",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Match result and both teams to score",
      "choice": "draw, both teams to score: yes",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joshua Cole",
     "publisher": "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/moreirense/preview/moreirense-vs-gil-vicente-prediction-team-news-lineups_606399.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "draw, both teams to score: yes"
   }
  },
  {
   "record_id": "n-a07814413a89f9e4348ff5ad",
   "url": "/authors/joshua-cole/picks/4/#pick-n-a07814413a89f9e4348ff5ad",
   "match": "Moreirense v Gil Vicente",
   "match_url": "/football/matches/moreirense-vs-gil-vicente-2026-10-09/",
   "kickoff": "2026-10-09T17:45:00.000Z",
   "competition": "Primeira Liga",
   "lead_hours": 45.7,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Moreirense 1-1 Gil Vicente",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-07T19:28:38.000Z",
   "recorded_at": "2026-10-07T20:04:21.776Z",
   "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-a07814413a89f9e4348ff5ad",
    "quote_text": "We say: Moreirense 1-1 Gil Vicente",
    "fragment_from": 4216,
    "fragment_to": 4250,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/moreirense/preview/moreirense-vs-gil-vicente-prediction-team-news-lineups_606399.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "f8d442f4aebca780ac47d5d954f06cd8f0119e7b3d47aa4c18affc43e36ad2d2",
     "material_removed": false
    },
    "published_at": "2026-10-07T19:28:38.000Z",
    "detected_at": "2026-10-07T20:04:21.776Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-a69478851d29",
     "display_name": "Moreirense — Gil Vicente",
     "competition_name": "Primeira Liga",
     "starts_at": "2026-10-09T17:45:00.000Z",
     "url": "/football/matches/moreirense-vs-gil-vicente-2026-10-09/",
     "scoreline": "0-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Moreirense 1-1 Gil Vicente",
    "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-07T19:28:38.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-07T19:28:38.000Z",
     "detected_at": "2026-10-07T20:04:21.776Z",
     "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": "Moreirense 1-1 Gil Vicente",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Moreirense 1-1 Gil Vicente"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Moreirense 0-1 Gil Vicente."
    },
    "settlements": [
     {
      "operation_id": "56ed5a34ff6dee985734985a6cd687a9cb742125418c2cb71b0f6bac40c45649",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "3.3",
      "odds_role": "market_price",
      "stake_hundredths": null,
      "status": "cancelled",
      "status_text": "Cancelled: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": "2026-10-08T11:06:49.133Z",
      "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/moreirense/preview/moreirense-vs-gil-vicente-prediction-team-news-lineups_606399.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Moreirense 1-1 Gil Vicente"
   }
  },
  {
   "record_id": "n-9e4f3d64ab663d3e269ea59e",
   "url": "/authors/joshua-cole/picks/4/#pick-n-9e4f3d64ab663d3e269ea59e",
   "match": "Galatasaray v Kasımpaşa",
   "match_url": "/football/matches/galatasaray-vs-kas-mpasa-2026-10-09/",
   "kickoff": "2026-10-09T17:00:00.000Z",
   "competition": "Süper Lig",
   "lead_hours": 44.9,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Galatasaray 2-1 Kasımpaşa",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "3-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-07T19:29:04.000Z",
   "recorded_at": "2026-10-07T20:04:20.675Z",
   "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-9e4f3d64ab663d3e269ea59e",
    "quote_text": "We say: Galatasaray 2-1 Kasimpasa",
    "fragment_from": 4557,
    "fragment_to": 4590,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/galatasaray/preview/galatasaray-vs-kasimpasa-prediction-team-news-lineups_606401.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "124004e3ae5e874868a8b045fecbcf0954d728232c4ae620f99a3873c7dd76f8",
     "material_removed": false
    },
    "published_at": "2026-10-07T19:29:04.000Z",
    "detected_at": "2026-10-07T20:04:20.675Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-33debe9f3fa7",
     "display_name": "Galatasaray — Kasımpaşa",
     "competition_name": "Süper Lig",
     "starts_at": "2026-10-09T17:00:00.000Z",
     "url": "/football/matches/galatasaray-vs-kas-mpasa-2026-10-09/",
     "scoreline": "3-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Galatasaray 2-1 Kasımpaşa",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-07T19:29:04.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-07T19:29:04.000Z",
     "detected_at": "2026-10-07T20:04:20.675Z",
     "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": "Galatasaray 2-1 Kasımpaşa",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Galatasaray 2-1 Kasımpaşa"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Galatasaray 3-1 Kasımpaşa."
    },
    "settlements": [
     {
      "operation_id": "74464083947bd135e4fdcc82f8df6b2bf582a60fd48139e0977d04f3ef79fe4d",
      "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.25",
      "odds_role": "market_price",
      "stake_hundredths": null,
      "status": "cancelled",
      "status_text": "Cancelled: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": "2026-10-09T15:48:22.329Z",
      "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/galatasaray/preview/galatasaray-vs-kasimpasa-prediction-team-news-lineups_606401.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Galatasaray 2-1 Kasımpaşa"
   }
  },
  {
   "record_id": "n-c9f1cd216f43ad8bbe642c96",
   "url": "/authors/joshua-cole/picks/4/#pick-n-c9f1cd216f43ad8bbe642c96",
   "match": "Athletico v Atlético Mineiro",
   "match_url": null,
   "kickoff": "2026-10-08T23:00:00.000Z",
   "competition": "Brasileiro Série A",
   "lead_hours": 55.9,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Athletico 2-1 Atlético Mineiro",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-2",
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-06T14:23:00.000Z",
   "recorded_at": "2026-10-06T15:06:20.001Z",
   "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-c9f1cd216f43ad8bbe642c96",
    "quote_text": "We say: Athletico Paranaense 2-1 Atletico Mineiro",
    "fragment_from": 4638,
    "fragment_to": 4687,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/atletico-paranaense/preview/athletico-pr-vs-atletico-mineiro-prediction-team-news-lineups_606335.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "21631828eb425a5416d4dd20359d2a20b31ea7ee72ad382bf08793ecff49a4b1",
     "material_removed": false
    },
    "published_at": "2026-10-06T14:23:00.000Z",
    "detected_at": "2026-10-06T15:06:20.001Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "ambiguous",
    "event": {
     "event_id": "s-41f0f8d26a03",
     "display_name": "Athletico — Atlético Mineiro",
     "competition_name": "Brasileiro Série A",
     "starts_at": "2026-10-08T23:00:00.000Z",
     "url": null,
     "scoreline": "2-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Athletico 2-1 Atlético Mineiro",
    "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-06T14:23:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-06T14:23:00.000Z",
     "detected_at": "2026-10-06T15:06:20.001Z",
     "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": "Athletico 2-1 Atlético Mineiro",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Athletico 2-1 Atlético Mineiro"
    },
    "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 Athletico 2-2 Atlético Mineiro."
    },
    "settlements": [
     {
      "operation_id": "9bff071919651008e46e0b003dcc166b9c608316a66c0e9020131960f826f917",
      "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": "Athletico",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joshua Cole",
     "publisher": "Sports Mole",
     "forecaster": "Joshua Cole",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/atletico-paranaense/preview/athletico-pr-vs-atletico-mineiro-prediction-team-news-lineups_606335.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Athletico 2-1 Atlético Mineiro"
   }
  },
  {
   "record_id": "n-225cde837cd1842041cbba0b",
   "url": "/authors/joshua-cole/picks/3/#pick-n-225cde837cd1842041cbba0b",
   "match": "Albania v San Marino",
   "match_url": null,
   "kickoff": "2026-10-06T18:45:00.000Z",
   "competition": "UEFA Nations League",
   "lead_hours": 42.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Albania 4-0 San Marino",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-1",
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-04T16:02:00.000Z",
   "recorded_at": "2026-10-05T00:07:47.846Z",
   "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-225cde837cd1842041cbba0b",
    "quote_text": "We say: Albania 4-0 San Marino",
    "fragment_from": 3903,
    "fragment_to": 3933,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/albania/uefa-nations-league/preview/albania-vs-san-marino-prediction-team-news-lineups_606217.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "a845552634a4a1e389fad37ffddae0a2795ebd96edaa1640e3f501b8cc186030",
     "material_removed": false
    },
    "published_at": "2026-10-04T16:02:00.000Z",
    "detected_at": "2026-10-05T00:07:47.846Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "ambiguous",
    "event": {
     "event_id": "s-95c5538dbaf6",
     "display_name": "Albania — San Marino",
     "competition_name": "UEFA Nations League",
     "starts_at": "2026-10-06T18:45:00.000Z",
     "url": null,
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Albania 4-0 San Marino",
    "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-04T16:02:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-04T16:02:00.000Z",
     "detected_at": "2026-10-05T00:07:47.846Z",
     "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": "Albania 4-0 San Marino",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "4-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Albania 4-0 San Marino"
    },
    "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 Albania 2-1 San Marino."
    },
    "settlements": [
     {
      "operation_id": "248124285a0605e6b3024f155d0c1a7fcebed95d71e20795adf03d222d88034b",
      "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": "Albania",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joshua Cole",
     "publisher": "Sports Mole",
     "forecaster": "Joshua Cole",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/albania/uefa-nations-league/preview/albania-vs-san-marino-prediction-team-news-lineups_606217.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Albania 4-0 San Marino"
   }
  },
  {
   "record_id": "n-fb7f82513778a6f63c03d098",
   "url": "/authors/joshua-cole/picks/3/#pick-n-fb7f82513778a6f63c03d098",
   "match": "Belarus v Finland",
   "match_url": null,
   "kickoff": "2026-10-06T18:45:00.000Z",
   "competition": "UEFA Nations League",
   "lead_hours": 44.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Belarus 0-1 Finland",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-0",
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-04T16:03:00.000Z",
   "recorded_at": "2026-10-04T22:07:20.500Z",
   "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-fb7f82513778a6f63c03d098",
    "quote_text": "We say: Belarus 0-1 Finland",
    "fragment_from": 4108,
    "fragment_to": 4135,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/belarus/uefa-nations-league/preview/belarus-vs-finland-prediction-team-news-lineups_606218.html",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "6702fddf6e0da49142d961b67861ff4d3da297dda7be6881f461afac806493d7",
     "material_removed": false
    },
    "published_at": "2026-10-04T16:03:00.000Z",
    "detected_at": "2026-10-04T22:07:20.500Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "ambiguous",
    "event": {
     "event_id": "s-1914676ee3ef",
     "display_name": "Belarus — Finland",
     "competition_name": "UEFA Nations League",
     "starts_at": "2026-10-06T18:45:00.000Z",
     "url": null,
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Belarus 0-1 Finland",
    "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-04T16:03:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-04T16:03:00.000Z",
     "detected_at": "2026-10-04T22:07:20.500Z",
     "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": "Belarus 0-1 Finland",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "0-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Belarus 0-1 Finland"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Belarus 1-0 Finland."
    },
    "settlements": [
     {
      "operation_id": "3253f654f431810175b1e9cb6f09b53f233d3492cb16aa463892ee9a51777b53",
      "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": "Finland",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joshua Cole",
     "publisher": "Sports Mole",
     "forecaster": "Joshua Cole",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/belarus/uefa-nations-league/preview/belarus-vs-finland-prediction-team-news-lineups_606218.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Belarus 0-1 Finland"
   }
  },
  {
   "record_id": "n-a4504917ae6463bf84b7929c",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Çorum Belediyespor 1-2 Fenerbahce",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-11-06T18:56:30.000Z",
   "recorded_at": "2026-11-06T19:10:51.845Z",
   "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-8688792e5be4037d9adb0c8e",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Caykur Rizespor 1-1 BB Erzurumspor",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-11-06T18:55:52.000Z",
   "recorded_at": "2026-11-06T19:10:54.363Z",
   "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-1188541415541d7164e7124d",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Gaziantep 1-2 Kasimpasa",
   "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-11-04T16:42:00.000Z",
   "recorded_at": "2026-11-04T17:10:10.859Z",
   "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-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-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-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-6321aa3ee00a5648fd5bfc0b",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Auxerre 1-0 Le Mans",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-24T23:00:00.000Z",
   "recorded_at": "2026-10-25T00:26:09.229Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": "Sports Mole",
   "correction": null
  },
  {
   "record_id": "n-cdeca89bda8dcc3f2c2d0e9f",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Caykur Rizespor 1-2 Trabzonspor",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-24T09:39:41.000Z",
   "recorded_at": "2026-10-24T10:10:04.304Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": "Sports Mole",
   "correction": null
  },
  {
   "record_id": "n-9c13d36aa44677bb84f7631f",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Goztepe SK 2-2 Çorum Belediyespor",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-23T19:27:46.000Z",
   "recorded_at": "2026-10-23T20:09:59.482Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": "Sports Mole",
   "correction": null
  },
  {
   "record_id": "n-069e75c7e73b48888fc80792",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Gaziantep 1-1 BB Erzurumspor",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-22T19:21:14.000Z",
   "recorded_at": "2026-10-22T20:10:10.614Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": "Sports Mole",
   "correction": null
  },
  {
   "record_id": "n-c3eec9a10bbdf2138c453e27",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Correct score: Toulouse 2-1 Troyes at 8.00 (7/1) | Likelihood: Low",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-22T11:29:25.000Z",
   "recorded_at": "2026-10-22T11:44:17.462Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-d55f1576cc7c3010c579b94f",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Both teams to score – Yes at 1.68 (17/25) | Likelihood: Medium",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-22T11:29:25.000Z",
   "recorded_at": "2026-10-22T11:44:17.462Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-199838adfe7133b4cd821971",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Over 2.5 goals at 1.59 (59/10 | Likelihood: High",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-22T11:29:25.000Z",
   "recorded_at": "2026-10-22T11:44:17.462Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-46fe6c286ef7aa6b7163e0aa",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Toulouse to win at 1.62 (31/50) | Likelihood: High",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-22T11:29:25.000Z",
   "recorded_at": "2026-10-22T11:44:17.462Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-bcd79506e10d2ab044696aa7",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Both teams to score – No at 2.13 (119/100",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-20T18:00:02.000Z",
   "recorded_at": "2026-10-20T18:14:22.229Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-8c9db05d342b59260d889183",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Under 3.5 goals at 1.53 (8/15)",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-20T18:00:02.000Z",
   "recorded_at": "2026-10-20T18:14:22.229Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-dd986f6e63f016a794f0c479",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Correct score: Celje 0-2 RB Salzburg at 10.00 (9/1)",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-20T18:00:02.000Z",
   "recorded_at": "2026-10-20T18:14:22.229Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-3d04add933a532c5640a6122",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Sazburg to win at 1.77 (7/9)",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-20T18:00:02.000Z",
   "recorded_at": "2026-10-20T18:14:22.229Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-43f180368f4d25b53fe8d9ea",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Union SG 2-0 Hapoel Be'er Sheva",
   "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-20T16:59:00.000Z",
   "recorded_at": "2026-10-20T17:10:14.109Z",
   "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-3ec4fb99b0be6fcbbeff044c",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Istanbul Basaksehir 2-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-16T12:07:14.000Z",
   "recorded_at": "2026-10-16T13:09:51.625Z",
   "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-376c92c4fc632e69b9df6b6e",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "point towards a home win",
   "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-15T21:12:00.000Z",
   "recorded_at": "2026-10-16T01:09:59.413Z",
   "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-b37eada420566d6d80fe58cd",
   "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-0 Eyupspor",
   "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-15T21:12:00.000Z",
   "recorded_at": "2026-10-16T01:09:59.413Z",
   "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-4ed8977db8a65ac1e10c9f0e",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Çorum Belediyespor 1-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-14T14:59:14.000Z",
   "recorded_at": "2026-10-14T15:09:48.416Z",
   "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-211b3a600357bae74d69c8a3",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Troyes 0-3 Marseille",
   "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-10T23:00:00.000Z",
   "recorded_at": "2026-10-11T02:10:34.023Z",
   "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-b2ad7df0e2673e32a2e15249",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Gaziantep 1-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-09T22:06:57.000Z",
   "recorded_at": "2026-10-10T03:04:56.069Z",
   "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-d42633b15d91c60459e9796b",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Caykur Rizespor 1-2 Fenerbahce",
   "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-08T19:23:24.000Z",
   "recorded_at": "2026-10-08T20:10:03.532Z",
   "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-20183c8a4ca0e12d8745a830",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Alanyaspor 2-0 BB Erzurumspor",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-08T19:20:28.000Z",
   "recorded_at": "2026-10-08T21:02:38.471Z",
   "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-1ba82ff6e47f719fb3ebc355",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "> Correct score — Montenegro 2-1 Armenia at 36/5 (8.20)",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-03T15:48:09.000Z",
   "recorded_at": "2026-10-03T15:54:09.971Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-99d43eda46afc58671ef5e99",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "> Both teams to score at 17/20 (1.85)",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-03T15:48:09.000Z",
   "recorded_at": "2026-10-03T15:54:09.971Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-86598849fa64ef71813dd363",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "> Over 2.5 goals at 7/10 (1.70)",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-03T15:48:09.000Z",
   "recorded_at": "2026-10-03T15:54:09.971Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-2eec8ec1ce2f5724a357f592",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "> Montenegro to win at 4/6 (1.66)",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-03T15:48:09.000Z",
   "recorded_at": "2026-10-03T15:54:09.971Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-b9995d90069b2bb2f341d427",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Correct score — Cyprus 1-0 Latvia at 11/2 (6.50)",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-03T15:22:41.000Z",
   "recorded_at": "2026-10-03T15:32:07.379Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-2f0981bfc350be169c5226fe",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Both teams to score — No at 4/5 (1.77)",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-03T15:22:41.000Z",
   "recorded_at": "2026-10-03T15:32:07.379Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-a30e28ed47238759dafbc8e8",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Cyprus win at 4/6 (1.74)",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-03T15:22:41.000Z",
   "recorded_at": "2026-10-03T15:32:07.379Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-1e2c96221d454fdd6b47f20a",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Under 2.5 goals at 3/4 (1.75)",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-03T15:22:41.000Z",
   "recorded_at": "2026-10-03T15:32:07.379Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-4557043e942ed951d0be7f64",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Correct score – Kosovo 1-2 Austria at 8/1 (9.00)",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-02T16:59:34.000Z",
   "recorded_at": "2026-10-02T17:08:59.451Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-ebb0e441cd049360fe247a05",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Over 2.5 goals at 4/5 (1.80)",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-02T16:59:34.000Z",
   "recorded_at": "2026-10-02T17:08:59.451Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-3231d28d9f5c4b4ebf248278",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Both teams to score at 33/50 (1.66)",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-02T16:59:34.000Z",
   "recorded_at": "2026-10-02T17:08:59.451Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-a2b259384ca6568834897c16",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Austria to win at 11/10 (2.10)",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-02T16:59:34.000Z",
   "recorded_at": "2026-10-02T17:08:59.451Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-8c05a94ec0640282e50959eb",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "> Correct score: Republic of Ireland 2-0 Israel at 9/1 (10.00)",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-02T16:43:49.000Z",
   "recorded_at": "2026-10-02T16:55:25.549Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-00221fd99a8be20b360cac7c",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "> Ireland 2-4 goals at 6/5 (2.20)",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-02T16:43:49.000Z",
   "recorded_at": "2026-10-02T16:55:25.549Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-4826b51e1d1bdc6269d0accc",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "> Under 2.5 goals at 19/25 (1.76)",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-02T16:43:49.000Z",
   "recorded_at": "2026-10-02T16:55:25.549Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-a4e91a6b9c9e40331c9313a2",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "> Republic of Ireland win at 21/20 (2.05)",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-02T16:43:49.000Z",
   "recorded_at": "2026-10-02T16:55:25.549Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-291db022fd32ed25e5b40d0a",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Correct score — Belarus 3-0 San Marino at 5/1 (6.00)",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-01T20:03:42.000Z",
   "recorded_at": "2026-10-01T20:11:44.256Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-346279bb4aad3bc57a9a69bd",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Under 3.5 goals at 8/11 (1.72)",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-01T20:03:42.000Z",
   "recorded_at": "2026-10-01T20:11:44.256Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-cb7cffd8a075bda0936aed28",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Belarus win to nil at 1/2 (1.50)",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-01T20:03:42.000Z",
   "recorded_at": "2026-10-01T20:11:44.256Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-122529c165b7d9ba17b49778",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Both teams to score – No at 11/25 (1.44)",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-01T20:03:42.000Z",
   "recorded_at": "2026-10-01T20:11:44.256Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-3a673bc4589c7e662142fe37",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "> Correct score — Finland 1-2 Albania at 24/5 (5.80) | Likelihood: Low",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-01T19:21:54.000Z",
   "recorded_at": "2026-10-01T19:28:19.763Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-f8dcb3852699b2503f4114a1",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "> Match result – Albania win at 41/20 (3.05) | Likelihood: Medium",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-01T19:21:54.000Z",
   "recorded_at": "2026-10-01T19:28:19.763Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-12c7030aee28c4456766326e",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "> Over 2.5 goals at 32/25 (2.28) | Likelihood: High",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-01T19:21:54.000Z",
   "recorded_at": "2026-10-01T19:28:19.763Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-3522161b038f4f5fb12f52b0",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "> Both teams to score at 10/11 (1.94 | Likelihood: High",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-01T19:21:54.000Z",
   "recorded_at": "2026-10-01T19:28:19.763Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-8d298bfda65065d8891f1620",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "> Both teams to score – No at 3/4 (1.75)",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-09-30T18:43:10.000Z",
   "recorded_at": "2026-09-30T18:52:28.321Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-6b91e411e9224642f0840dbe",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "A 1-0 Kazakhstan victory at 24/5 (5.80) is the preferred correct-score prediction",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-09-30T18:43:10.000Z",
   "recorded_at": "2026-09-30T18:52:28.321Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-75b77434485c537f82074745",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "The Kazakhstan win at 13/20 (1.65) is also worth considering",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-09-30T18:43:10.000Z",
   "recorded_at": "2026-09-30T18:52:28.321Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-6ce2ea133c683325c2e37746",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "The under 2.5 goals at 4/5 (1.80) is the preferred angle",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-09-30T18:43:10.000Z",
   "recorded_at": "2026-09-30T18:52:28.321Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-e0930e304e98b9b9c73afd56",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Under 2.5 goals",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-09-30T18:43:10.000Z",
   "recorded_at": "2026-09-30T18:52:28.321Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-f875ff5db79f771cf374e245",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Lesotho 0-3 Morocco",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-09-27T20:28:47.000Z",
   "recorded_at": "2026-09-27T21:03:42.421Z",
   "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-c5dc6b9b71abd54d5eabc115",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Correct score — Luxembourg 1-1 Iceland at 6.00 (5/1)",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-09-27T20:11:36.000Z",
   "recorded_at": "2026-09-27T20:14:48.009Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-ee2a3ee98bff50224a0384a2",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Match result — Draw at 3.25 (9/4)",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-09-27T20:11:36.000Z",
   "recorded_at": "2026-09-27T20:14:48.009Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-89df88f3a4c252683e5a3c4d",
   "url": "/authors/joshua-cole/picks/2/#pick-n-89df88f3a4c252683e5a3c4d",
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Under 2.5 goals at 1.71 (71/100)",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-09-27T20:11:36.000Z",
   "recorded_at": "2026-09-27T20:14:48.009Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": {
    "at": "2026-10-14T02:00:56.189Z",
    "field": "line sign",
    "reason": "Data corrected: line sign. The line of this over/under market was recorded with a minus sign; a total cannot be negative, and the source gives the line without one. The line now matches the source and the outcome is worked out on it. This pick was never executed, so no number changes.",
    "version": 2,
    "url": "/corrections/#c-f1b2048399e9",
    "text": "Corrected on 14 October 2026: Data corrected: line sign. The line of this over/under market was recorded with a minus sign; a total cannot be negative, and the source gives the line without one. The line now matches the source and"
   },
   "evidence": {
    "observation_id": "n-89df88f3a4c252683e5a3c4d",
    "quote_text": "Under 2.5 goals at 1.71 (71/100)",
    "fragment_from": 4926,
    "fragment_to": 4958,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/luxembourg-vs-iceland-prediction-29-09-2026/",
     "display_name": null,
     "speaker": "Joshua Cole",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "c4a06d42c8d3ceac74072b506c371577ac595d51f6f28d866d2964b56fc518aa",
     "material_removed": false
    },
    "published_at": "2026-09-27T20:11:36.000Z",
    "detected_at": "2026-09-27T20:14:48.009Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "not_supported",
    "cause": "national-team match (Nations League, qualifiers, continental cups)",
    "cause_code": "outside_coverage",
    "event": null,
    "market_label": null,
    "outcome_label": null,
    "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": null,
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "dates": {
     "fragment_at": "2026-09-27T20:11:36.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-09-27T20:11:36.000Z",
     "detected_at": "2026-09-27T20:14:48.009Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "source_stated_date",
    "origin_detail": "no_match_linked",
    "origin_words": "Date as stated by the source; no match is linked to this statement",
    "added_on": null,
    "late_publication": null,
    "author_claim": null,
    "author_claim_outcome": {
     "result": null,
     "scoreline": null,
     "data_status": "unknown",
     "cause": "the statement was not read as a pick that can be settled",
     "methodology_version": "2.2",
     "in_words": "No outcome: the statement was not read as a pick that can be settled."
    },
    "settlements": [],
    "corrections": [
     {
      "at": "2026-10-14T02:00:56.189Z",
      "field_name": "line sign",
      "was": "Over/Under −2.5 goals · under −2.5",
      "now": "Over/Under 2.5 goals · under 2.5",
      "cause": "Data corrected: line sign. The line of this over/under market was recorded with a minus sign; a total cannot be negative, and the source gives the line without one. The line now matches the source and the outcome is worked out on it. This pick was never executed, so no number changes."
     }
    ],
    "funnel_stage": "prediction",
    "authorship": null,
    "correction": {
     "at": "2026-10-14T02:00:56.189Z",
     "field": "line sign",
     "reason": "Data corrected: line sign. The line of this over/under market was recorded with a minus sign; a total cannot be negative, and the source gives the line without one. The line now matches the source and the outcome is worked out on it. This pick was never executed, so no number changes.",
     "version": 2,
     "url": "/corrections/#c-f1b2048399e9",
     "text": "Corrected on 14 October 2026: Data corrected: line sign. The line of this over/under market was recorded with a minus sign; a total cannot be negative, and the source gives the line without one. The line now matches the source and"
    },
    "choice_words": "a pick"
   }
  },
  {
   "record_id": "n-69981452fd23141cc61ee10a",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Both teams to score at 1.78 (39/50)",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-09-27T20:11:36.000Z",
   "recorded_at": "2026-09-27T20:14:48.009Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-e1b4816de660cf96609411a8",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "> Match result — Draw at 3.20 (11/5) | Likelihood: Possible",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-09-24T20:52:34.000Z",
   "recorded_at": "2026-09-25T00:32:40.622Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-fda92746c788bb8c12a579eb",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "A 1-0 Faroe Islands victory at 5.50 (9/2) is the preferred correct-score selection, matching the scoreline from the sides' most recent meeting and the Faroese results against both Estonia and…",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-09-24T20:52:34.000Z",
   "recorded_at": "2026-09-25T00:32:40.622Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-71cb8b3bb136e7e461dced0c",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "The Faroe Islands win at 2.30 (13/10) is also worth considering, with the hosts bringing seven wins from their last 10 matches and home advantage into a fixture against a Kazakhstan side that has…",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-09-24T20:52:34.000Z",
   "recorded_at": "2026-09-25T00:32:40.622Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-c670b3285022d7fda15a70d3",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "The under 2.5 goals selection at 1.59 (10/17) stands out given the recent games involving both sides and how they are rarely involved in goal-fests in recent times.",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-09-24T20:52:34.000Z",
   "recorded_at": "2026-09-25T00:32:40.622Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  }
 ],
 "lead_time": {
  "contract_version": 1,
  "threshold_hours": 2.0,
  "picks": 97,
  "before_kickoff": 97,
  "after_kickoff": 0,
  "at_least_2h": 97,
  "share_2h_plus": 100.0,
  "median_hours": 46.2,
  "min_hours": 10.8,
  "max_hours": 55.9,
  "words": "Hours between the moment we recorded the pick and kick-off; the share counts picks recorded at least two hours before kick-off."
 },
 "baseline": {
  "contract_version": 1,
  "series_code": "market_price",
  "rule": "recorded-line-1.0",
  "state": "settled",
  "picks": 45,
  "settled_picks_all": 67,
  "excluded": {
   "market_without_favourite": 3,
   "no_recorded_line": 19,
   "favourite_not_settled": 0
  },
  "staked_hundredths": 450000,
  "author_net_hundredths": -75309,
  "favourite_net_hundredths": -20438,
  "difference_hundredths": -54871,
  "author_return_percent": -16.74,
  "favourite_return_percent": -4.54,
  "author_hit_rate": 46.7,
  "favourite_hit_rate": 53.3,
  "picked_favourite_share": 82.2,
  "by_market": [
   {
    "market_code": "1x2",
    "picks": 34,
    "staked_hundredths": 340000,
    "author_net_hundredths": -30201,
    "favourite_net_hundredths": 43599,
    "author_hits": 17,
    "favourite_hits": 21,
    "picked_favourite": 27,
    "author_return_percent": -8.88,
    "favourite_return_percent": 12.82
   },
   {
    "market_code": "both_teams_score",
    "picks": 7,
    "staked_hundredths": 70000,
    "author_net_hundredths": -20808,
    "favourite_net_hundredths": -39737,
    "author_hits": 3,
    "favourite_hits": 2,
    "picked_favourite": 6,
    "author_return_percent": -29.73,
    "favourite_return_percent": -56.77
   },
   {
    "market_code": "total",
    "picks": 4,
    "staked_hundredths": 40000,
    "author_net_hundredths": -24300,
    "favourite_net_hundredths": -24300,
    "author_hits": 1,
    "favourite_hits": 1,
    "picked_favourite": 4,
    "author_return_percent": -60.75,
    "favourite_return_percent": -60.75
   }
  ],
  "return_over_time": [
   {
    "kickoff": "2026-10-09T18:45:00.000Z",
    "author_cumulative_hundredths": -10000,
    "favourite_cumulative_hundredths": 13800
   },
   {
    "kickoff": "2026-10-11T13:00:00.000Z",
    "author_cumulative_hundredths": -20000,
    "favourite_cumulative_hundredths": 26800
   },
   {
    "kickoff": "2026-10-11T15:15:00.000Z",
    "author_cumulative_hundredths": -15798,
    "favourite_cumulative_hundredths": 31002
   },
   {
    "kickoff": "2026-10-14T19:00:00.000Z",
    "author_cumulative_hundredths": -9304,
    "favourite_cumulative_hundredths": 37496
   },
   {
    "kickoff": "2026-10-14T19:00:00.000Z",
    "author_cumulative_hundredths": -19304,
    "favourite_cumulative_hundredths": 27496
   },
   {
    "kickoff": "2026-10-15T19:00:00.000Z",
    "author_cumulative_hundredths": -9304,
    "favourite_cumulative_hundredths": 37496
   },
   {
    "kickoff": "2026-10-18T13:00:00.000Z",
    "author_cumulative_hundredths": 1496,
    "favourite_cumulative_hundredths": 48296
   },
   {
    "kickoff": "2026-10-18T13:00:00.000Z",
    "author_cumulative_hundredths": 12296,
    "favourite_cumulative_hundredths": 59096
   },
   {
    "kickoff": "2026-10-20T16:45:00.000Z",
    "author_cumulative_hundredths": 2296,
    "favourite_cumulative_hundredths": 49096
   },
   {
    "kickoff": "2026-10-20T16:45:00.000Z",
    "author_cumulative_hundredths": -7704,
    "favourite_cumulative_hundredths": 39096
   },
   {
    "kickoff": "2026-10-21T16:45:00.000Z",
    "author_cumulative_hundredths": -17704,
    "favourite_cumulative_hundredths": 29096
   },
   {
    "kickoff": "2026-10-21T16:45:00.000Z",
    "author_cumulative_hundredths": -27704,
    "favourite_cumulative_hundredths": 19096
   },
   {
    "kickoff": "2026-10-21T16:45:00.000Z",
    "author_cumulative_hundredths": -22441,
    "favourite_cumulative_hundredths": 24359
   },
   {
    "kickoff": "2026-10-22T16:45:00.000Z",
    "author_cumulative_hundredths": -19438,
    "favourite_cumulative_hundredths": 27362
   },
   {
    "kickoff": "2026-10-24T10:30:00.000Z",
    "author_cumulative_hundredths": -13888,
    "favourite_cumulative_hundredths": 32912
   },
   {
    "kickoff": "2026-10-24T16:00:00.000Z",
    "author_cumulative_hundredths": -888,
    "favourite_cumulative_hundredths": 45912
   },
   {
    "kickoff": "2026-10-25T13:00:00.000Z",
    "author_cumulative_hundredths": 7612,
    "favourite_cumulative_hundredths": 54412
   },
   {
    "kickoff": "2026-10-25T14:00:00.000Z",
    "author_cumulative_hundredths": 32512,
    "favourite_cumulative_hundredths": 44412
   },
   {
    "kickoff": "2026-10-25T16:15:00.000Z",
    "author_cumulative_hundredths": 22512,
    "favourite_cumulative_hundredths": 34412
   },
   {
    "kickoff": "2026-10-25T16:15:00.000Z",
    "author_cumulative_hundredths": 12512,
    "favourite_cumulative_hundredths": 42012
   },
   {
    "kickoff": "2026-10-26T16:00:00.000Z",
    "author_cumulative_hundredths": 16062,
    "favourite_cumulative_hundredths": 45562
   },
   {
    "kickoff": "2026-10-26T19:30:00.000Z",
    "author_cumulative_hundredths": 20362,
    "favourite_cumulative_hundredths": 49862
   },
   {
    "kickoff": "2026-10-26T19:30:00.000Z",
    "author_cumulative_hundredths": 10362,
    "favourite_cumulative_hundredths": 39862
   },
   {
    "kickoff": "2026-10-26T19:30:00.000Z",
    "author_cumulative_hundredths": 14662,
    "favourite_cumulative_hundredths": 44162
   },
   {
    "kickoff": "2026-10-30T17:00:00.000Z",
    "author_cumulative_hundredths": 21162,
    "favourite_cumulative_hundredths": 50662
   },
   {
    "kickoff": "2026-10-31T16:00:00.000Z",
    "author_cumulative_hundredths": 11162,
    "favourite_cumulative_hundredths": 40662
   },
   {
    "kickoff": "2026-11-01T13:00:00.000Z",
    "author_cumulative_hundredths": 19362,
    "favourite_cumulative_hundredths": 48862
   },
   {
    "kickoff": "2026-11-01T16:00:00.000Z",
    "author_cumulative_hundredths": 9362,
    "favourite_cumulative_hundredths": 38862
   },
   {
    "kickoff": "2026-11-02T17:00:00.000Z",
    "author_cumulative_hundredths": -638,
    "favourite_cumulative_hundredths": 28862
   },
   {
    "kickoff": "2026-11-02T19:45:00.000Z",
    "author_cumulative_hundredths": -10638,
    "favourite_cumulative_hundredths": 18862
   },
   {
    "kickoff": "2026-11-02T19:45:00.000Z",
    "author_cumulative_hundredths": -20638,
    "favourite_cumulative_hundredths": 8862
   },
   {
    "kickoff": "2026-11-02T20:00:00.000Z",
    "author_cumulative_hundredths": -30638,
    "favourite_cumulative_hundredths": -1138
   },
   {
    "kickoff": "2026-11-02T20:00:00.000Z",
    "author_cumulative_hundredths": -21709,
    "favourite_cumulative_hundredths": -11138
   },
   {
    "kickoff": "2026-11-03T17:45:00.000Z",
    "author_cumulative_hundredths": -10209,
    "favourite_cumulative_hundredths": 362
   },
   {
    "kickoff": "2026-11-03T17:45:00.000Z",
    "author_cumulative_hundredths": -20209,
    "favourite_cumulative_hundredths": -9638
   },
   {
    "kickoff": "2026-11-03T17:45:00.000Z",
    "author_cumulative_hundredths": -30209,
    "favourite_cumulative_hundredths": 1862
   },
   {
    "kickoff": "2026-11-05T17:45:00.000Z",
    "author_cumulative_hundredths": -40209,
    "favourite_cumulative_hundredths": -8138
   },
   {
    "kickoff": "2026-11-05T17:45:00.000Z",
    "author_cumulative_hundredths": -50209,
    "favourite_cumulative_hundredths": -18138
   },
   {
    "kickoff": "2026-11-05T17:45:00.000Z",
    "author_cumulative_hundredths": -60209,
    "favourite_cumulative_hundredths": -28138
   },
   {
    "kickoff": "2026-11-05T17:45:00.000Z",
    "author_cumulative_hundredths": -70209,
    "favourite_cumulative_hundredths": -38138
   },
   {
    "kickoff": "2026-11-05T20:00:00.000Z",
    "author_cumulative_hundredths": -65209,
    "favourite_cumulative_hundredths": -33138
   },
   {
    "kickoff": "2026-11-05T20:00:00.000Z",
    "author_cumulative_hundredths": -59509,
    "favourite_cumulative_hundredths": -27438
   },
   {
    "kickoff": "2026-11-07T13:00:00.000Z",
    "author_cumulative_hundredths": -69509,
    "favourite_cumulative_hundredths": -14638
   },
   {
    "kickoff": "2026-11-07T16:00:00.000Z",
    "author_cumulative_hundredths": -65309,
    "favourite_cumulative_hundredths": -10438
   },
   {
    "kickoff": "2026-11-07T16:00:00.000Z",
    "author_cumulative_hundredths": -75309,
    "favourite_cumulative_hundredths": -20438
   }
  ],
  "words": "Same stakes, same matches, same recorded moment: the author’s picks against backing the market favourite by the recorded line. Only markets with a single shortest price count (match result, over/under, both teams to score, handicap); correct score and combined markets are left out."
 },
 "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": 1,
  "first": 1,
  "last": 20,
  "author_url": "/authors/joshua-cole/",
  "current": false
 },
 "title_tag": "Joshua Cole Predictions: Verified Record, Results and Sources",
 "calculator": {
  "url": "/tools/luck-or-skill/?n=32&odds=2.22&roi=-40.1&src=record",
  "n": 32,
  "odds": "2.22",
  "roi": "-40.1",
  "series": "Recorded before kick-off, at our recorded market price"
 },
 "person": {
  "person_id": "o-47aa46371e213875f5de5053",
  "type_code": "individual",
  "name_shown": "Joshua Cole",
  "main_entity": "e-47aa46371e213875f5de5053",
  "identity": {
   "status": "not_verified",
   "is_verified": false,
   "when": null,
   "source_list": []
  },
  "platform_list": [
   {
    "entity_ref": "e-47aa46371e213875f5de5053",
    "medium": "Football Whispers",
    "channel": "RSS feed",
    "domain": "footballwhispers.com",
    "source_info": "football-whispers",
    "byline": "Joshua Cole",
    "url": "/sources/football-whispers/",
    "summary": {
     "statements": 214,
     "predictions": 97,
     "settled_picks": 32,
     "headline_kind": "live_snapshot",
     "return_percent": -40.15,
     "headline_part": "live",
     "period_from": "2026-09-25",
     "period_to": "2026-11-06"
    }
   },
   {
    "entity_ref": "e-50eae1af331d6f7bed03d215",
    "medium": "Sports Mole",
    "channel": "RSS feed",
    "domain": "sportsmole.co.uk",
    "source_info": "sports-mole",
    "byline": "Joshua Cole",
    "url": "/sources/sports-mole/",
    "summary": {
     "statements": 3,
     "predictions": 1,
     "settled_picks": 0,
     "headline_kind": null,
     "return_percent": null,
     "headline_part": null,
     "period_from": "2026-10-25",
     "period_to": "2026-10-25"
    }
   },
   {
    "entity_ref": "e-8f21e25b40af33dcadf7d560",
    "medium": "Sports Mole",
    "channel": "RSS feed",
    "domain": "sportsmole.co.uk",
    "source_info": "sports-mole",
    "byline": "Joshua Cole",
    "url": null,
    "summary": {
     "statements": 255,
     "predictions": 71,
     "settled_picks": 0,
     "headline_kind": null,
     "return_percent": null,
     "headline_part": null,
     "period_from": "2026-09-27",
     "period_to": "2026-11-06"
    }
   }
  ],
  "previously": [],
  "trust_tier": "tracked"
 },
 "data_revision": {
  "data_version": "2026-11-07.2",
  "updated": "2026-11-07",
  "current_release": "2026-11-07.2",
  "data_as_of": "2026-11-07",
  "method_version": "2.2",
  "price_rule": "independent odds snapshot",
  "series_code": "market_price",
  "sample": {
   "settled_picks": 32,
   "matches": 13,
   "void": 0,
   "period_from": "2026-10-09",
   "period_to": "2026-11-05",
   "composition_hash": "96458300711efbe57e8826f2e94f6796207483b2e89cd9ded8d16571cfd5fe91"
  },
  "changes_url": "#changes",
  "corrections_url": "/corrections/"
 },
 "number_changes": [
  {
   "id": "zc-7c1c5116f70fdf4892dc",
   "at": "2026-11-07T20:05:20.937Z",
   "data_version": "2026-11-07.2",
   "previous_data_version": "2026-11-07.1",
   "url": "/authors/joshua-cole/",
   "category": "coverage_extended",
   "category_words": "Coverage extended",
   "before": {
    "data_version": "2026-11-07.1",
    "return_percent": "-26.34",
    "settled_picks": 26,
    "matches": 13,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "9ac12a1877935db1438fc6af45f0ed9ab4f3df11dc52b8fb175afad6ae1c92d2",
    "text": "−26.34% on 26 settled picks across 13 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-11-07.2",
    "return_percent": "-40.15",
    "settled_picks": 32,
    "matches": 13,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "96458300711efbe57e8826f2e94f6796207483b2e89cd9ded8d16571cfd5fe91",
    "text": "−40.15% on 32 settled picks across 13 matches · independent odds snapshot · method 2.2"
   },
   "reason": "Added 6 earlier picks for matches played before the previous data version (found in archives or newly matched to a fixture).",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 6,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  },
  {
   "id": "zc-59198bb8d77d4f5244c9",
   "at": "2026-11-07T07:42:45.749Z",
   "data_version": "2026-11-07.1",
   "previous_data_version": "2026-11-06.2",
   "url": "/authors/joshua-cole/",
   "category": "coverage_extended",
   "category_words": "Coverage extended",
   "before": {
    "data_version": "2026-11-06.1",
    "return_percent": "-29.99",
    "settled_picks": 25,
    "matches": 13,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "08bb1cfea9364feaca009a684537cbff28e53f08bb55204ac2fb5e0db8b3d6f6",
    "text": "−29.99% on 25 settled picks across 13 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-11-07.1",
    "return_percent": "-26.34",
    "settled_picks": 26,
    "matches": 13,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "9ac12a1877935db1438fc6af45f0ed9ab4f3df11dc52b8fb175afad6ae1c92d2",
    "text": "−26.34% on 26 settled picks across 13 matches · independent odds snapshot · method 2.2"
   },
   "reason": "Added 1 earlier pick for matches played before the previous data version (found in archives or newly matched to a fixture).",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 1,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  },
  {
   "id": "zc-18696dea7cb0669db578",
   "at": "2026-11-06T14:46:17.511Z",
   "data_version": "2026-11-06.1",
   "previous_data_version": "2026-11-05.3",
   "url": "/authors/joshua-cole/",
   "category": "coverage_extended",
   "category_words": "Coverage extended",
   "before": {
    "data_version": "2026-11-03.3",
    "return_percent": "-27.83",
    "settled_picks": 20,
    "matches": 11,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "b51b735faa53a1e75a9b12ae39901abc2aed0a095c941489833f6eb7ffc9958b",
    "text": "−27.83% on 20 settled picks across 11 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-11-06.1",
    "return_percent": "-29.99",
    "settled_picks": 25,
    "matches": 13,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "08bb1cfea9364feaca009a684537cbff28e53f08bb55204ac2fb5e0db8b3d6f6",
    "text": "−29.99% on 25 settled picks across 13 matches · independent odds snapshot · method 2.2"
   },
   "reason": "Added 3 earlier picks for matches played before the previous data version (found in archives or newly matched to a fixture); also 2 new results.",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 5,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  },
  {
   "id": "zc-3a26d95bfdf5a6a02df0",
   "at": "2026-11-03T21:23:16.442Z",
   "data_version": "2026-11-03.3",
   "previous_data_version": "2026-11-03.2",
   "url": "/authors/joshua-cole/",
   "category": "new_results",
   "category_words": "New results",
   "before": {
    "data_version": "2026-11-03.1",
    "return_percent": "-19.81",
    "settled_picks": 18,
    "matches": 10,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "4412d8e5ce14c7f0a119fe871b19b6c7acd50903255c8738a0701b9f19452136",
    "text": "−19.81% on 18 settled picks across 10 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-11-03.3",
    "return_percent": "-27.83",
    "settled_picks": 20,
    "matches": 11,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "b51b735faa53a1e75a9b12ae39901abc2aed0a095c941489833f6eb7ffc9958b",
    "text": "−27.83% on 20 settled picks across 11 matches · independent odds snapshot · method 2.2"
   },
   "reason": "2 new settled picks from matches played after the previous data version.",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 2,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  },
  {
   "id": "zc-be4a7cf483104f33dbfa",
   "at": "2026-11-03T06:24:00.880Z",
   "data_version": "2026-11-03.1",
   "previous_data_version": "2026-11-02.3",
   "url": "/authors/joshua-cole/",
   "category": "new_results",
   "category_words": "New results",
   "before": {
    "data_version": "2026-10-27.1",
    "return_percent": "-3.53",
    "settled_picks": 13,
    "matches": 8,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "df81ab1a23f1cdecced6c0c8a57e4fd4e04348f3ee27f52573c9ae67e590ea3c",
    "text": "−3.53% on 13 settled picks across 8 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-11-03.1",
    "return_percent": "-19.81",
    "settled_picks": 18,
    "matches": 10,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "4412d8e5ce14c7f0a119fe871b19b6c7acd50903255c8738a0701b9f19452136",
    "text": "−19.81% on 18 settled picks across 10 matches · independent odds snapshot · method 2.2"
   },
   "reason": "5 new settled picks from matches played after the previous data version.",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 5,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  },
  {
   "id": "zc-1261d2bca9b9284f83e2",
   "at": "2026-10-27T07:47:02.386Z",
   "data_version": "2026-10-27.1",
   "previous_data_version": "2026-10-26.1",
   "url": "/authors/joshua-cole/",
   "category": "coverage_extended",
   "category_words": "Coverage extended",
   "before": {
    "data_version": "2026-10-22.6",
    "return_percent": "-2.64",
    "settled_picks": 10,
    "matches": 6,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "4a0ef5715e3aef4f1fb848d2044311a305fad9b27aa3b1db264acfb624223c12",
    "text": "−2.64% on 10 settled picks across 6 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-27.1",
    "return_percent": "-3.53",
    "settled_picks": 13,
    "matches": 8,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "df81ab1a23f1cdecced6c0c8a57e4fd4e04348f3ee27f52573c9ae67e590ea3c",
    "text": "−3.53% on 13 settled picks across 8 matches · independent odds snapshot · method 2.2"
   },
   "reason": "Added 1 earlier pick for matches played before the previous data version (found in archives or newly matched to a fixture); also 2 new results.",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 3,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  },
  {
   "id": "zc-6b7430d1c825aaebfd5a",
   "at": "2026-10-22T22:37:17.307Z",
   "data_version": "2026-10-22.6",
   "previous_data_version": "2026-10-22.5",
   "url": "/authors/joshua-cole/",
   "category": "coverage_extended",
   "category_words": "Coverage extended",
   "before": {
    "data_version": "2026-10-22.4",
    "return_percent": "-6.27",
    "settled_picks": 9,
    "matches": 5,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "1cb31af6e6fdd98ecc068727adea9b3c3e6ed70f4d2191d5e46d3b3ffe577e13",
    "text": "−56.43 points on 9 settled picks across 5 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-22.6",
    "return_percent": "-2.64",
    "settled_picks": 10,
    "matches": 6,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "4a0ef5715e3aef4f1fb848d2044311a305fad9b27aa3b1db264acfb624223c12",
    "text": "−2.64% on 10 settled picks across 6 matches · independent odds snapshot · method 2.2"
   },
   "reason": "Added 1 earlier pick for matches played before the previous data version (found in archives or newly matched to a fixture).",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 1,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  },
  {
   "id": "zc-3e91e05bc85b98be491c",
   "at": "2026-10-22T13:04:00.441Z",
   "data_version": "2026-10-22.4",
   "previous_data_version": "2026-10-22.3",
   "url": "/authors/joshua-cole/",
   "category": "coverage_extended",
   "category_words": "Coverage extended",
   "before": {
    "data_version": "2026-10-21.3",
    "return_percent": "-24.92",
    "settled_picks": 7,
    "matches": 5,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "154bea6f6a97edb26a8ad1f10a24659a32d3a2d7f130cb08db0e23c7d0ca882c",
    "text": "−174.43 points on 7 settled picks across 5 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-22.4",
    "return_percent": "-6.27",
    "settled_picks": 9,
    "matches": 5,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "1cb31af6e6fdd98ecc068727adea9b3c3e6ed70f4d2191d5e46d3b3ffe577e13",
    "text": "−56.43 points on 9 settled picks across 5 matches · independent odds snapshot · method 2.2"
   },
   "reason": "Added 2 earlier picks for matches played before the previous data version (found in archives or newly matched to a fixture).",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 2,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  },
  {
   "id": "zc-d12785adde588d7f64b3",
   "at": "2026-10-21T22:08:07.744Z",
   "data_version": "2026-10-21.3",
   "previous_data_version": "2026-10-21.2",
   "url": "/authors/joshua-cole/",
   "category": "new_results",
   "category_words": "New results",
   "before": {
    "data_version": "2026-10-20.7",
    "return_percent": "-25.41",
    "settled_picks": 5,
    "matches": 4,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "bf20db6e582a116ca819aedee4afc87160610137a2c261348e1965c974372686",
    "text": "−127.06 points on 5 settled picks across 4 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-21.3",
    "return_percent": "-24.92",
    "settled_picks": 7,
    "matches": 5,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "154bea6f6a97edb26a8ad1f10a24659a32d3a2d7f130cb08db0e23c7d0ca882c",
    "text": "−174.43 points on 7 settled picks across 5 matches · independent odds snapshot · method 2.2"
   },
   "reason": "2 new settled picks from matches played after the previous data version.",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 2,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  },
  {
   "id": "zc-aad6da36a5203c39137e",
   "at": "2026-10-20T19:39:34.694Z",
   "data_version": "2026-10-20.7",
   "previous_data_version": "2026-10-20.6",
   "url": "/authors/joshua-cole/",
   "category": "new_results",
   "category_words": "New results",
   "before": {
    "data_version": "2026-10-18.8",
    "return_percent": "-6.76",
    "settled_picks": 4,
    "matches": 3,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "de35b47ded57ebb90159362a30d6ed3de272c831133c15ffb0e21833a813fe58",
    "text": "−27.06 points on 4 settled picks across 3 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-20.7",
    "return_percent": "-25.41",
    "settled_picks": 5,
    "matches": 4,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "bf20db6e582a116ca819aedee4afc87160610137a2c261348e1965c974372686",
    "text": "−127.06 points on 5 settled picks across 4 matches · independent odds snapshot · method 2.2"
   },
   "reason": "1 new settled pick from matches played after the previous data version.",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 1,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  },
  {
   "id": "zc-6b9e033f22623239b934",
   "at": "2026-10-18T21:29:31.006Z",
   "data_version": "2026-10-18.8",
   "previous_data_version": "2026-10-18.7",
   "url": "/authors/joshua-cole/",
   "category": "new_results",
   "category_words": "New results",
   "before": {
    "data_version": "2026-10-18.5",
    "return_percent": "-45.02",
    "settled_picks": 3,
    "matches": 2,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "219907dd7993f67bc9e1a7ac68ee61495e04fbde44b0f3bdb425c3daf989608e",
    "text": "−135.06 points on 3 settled picks across 2 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-18.8",
    "return_percent": "-6.76",
    "settled_picks": 4,
    "matches": 3,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "de35b47ded57ebb90159362a30d6ed3de272c831133c15ffb0e21833a813fe58",
    "text": "−27.06 points on 4 settled picks across 3 matches · independent odds snapshot · method 2.2"
   },
   "reason": "1 new settled pick from matches played after the previous data version.",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 1,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  },
  {
   "id": "zc-844587fadee26f7feac3",
   "at": "2026-10-18T08:07:07.527Z",
   "data_version": "2026-10-18.5",
   "previous_data_version": "2026-10-18.4",
   "url": "/authors/joshua-cole/",
   "category": "coverage_extended",
   "category_words": "Coverage extended",
   "before": {
    "data_version": "2026-10-10.4",
    "return_percent": "-100.00",
    "settled_picks": 1,
    "matches": 1,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "356af4c41307289f0c059d2922512474be100700d98c484fef5c1c022dae9dd1",
    "text": "−100.00 points on 1 settled pick across 1 match · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-18.5",
    "return_percent": "-45.02",
    "settled_picks": 3,
    "matches": 2,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "219907dd7993f67bc9e1a7ac68ee61495e04fbde44b0f3bdb425c3daf989608e",
    "text": "−135.06 points on 3 settled picks across 2 matches · independent odds snapshot · method 2.2"
   },
   "reason": "Added 2 earlier picks for matches played before the previous data version (found in archives or newly matched to a fixture).",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 2,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  },
  {
   "id": "zc-9e8a3d6f0a5efae1ce49",
   "at": "2026-10-10T23:53:02.873Z",
   "data_version": "2026-10-10.4",
   "previous_data_version": "2026-10-10.3",
   "url": "/authors/joshua-cole/",
   "category": "method_changed",
   "category_words": "Method changed",
   "before": null,
   "after": {
    "data_version": "2026-10-10.4",
    "return_percent": "-100.00",
    "settled_picks": 1,
    "matches": 1,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "356af4c41307289f0c059d2922512474be100700d98c484fef5c1c022dae9dd1",
    "text": "−100.00 points on 1 settled pick across 1 match · independent odds snapshot · method 2.2"
   },
   "reason": "Method 2.2 (11 October 2026): the live market price of a pick is now the price at the moment we first recorded it (median of bookmakers in our price feed, quote no older than 5 minutes; failing that, the first price within 2 hours after, before kick-off), not the price when our checks admitted it. Picks recorded before kick-off but checked after it are now settled the same way; picks with no price at that moment have no return. First headline number for this record: 1 settled pick.",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 1,
    "removed": 0,
    "changed": 0
   },
   "correction_id": "i-6acaa558c621f46676a6"
  }
 ],
 "counts_by_slice": {
  "portions": [
   {
    "code": "live",
    "title": "Recorded before kick-off",
    "price_rule": "Return at our recorded market price",
    "settled_picks": 32,
    "total_check": true,
    "market_list": [
     {
      "code_name": "1x2",
      "in_words": "Match result",
      "url": null,
      "settled_picks": 11,
      "won": 4,
      "void": 0,
      "net_points_hundredths": -45403,
      "return_percent": "-41.3",
      "period_from": "2026-10-09",
      "period_to": "2026-11-05",
      "small_sample": false,
      "average_odds": "2.32",
      "odds_from_author": 11,
      "odds_from_snapshot": 0
     },
     {
      "code_name": "both_teams_score",
      "in_words": "Both teams to score",
      "url": null,
      "settled_picks": 10,
      "won": 4,
      "void": 0,
      "net_points_hundredths": -34314,
      "return_percent": "-34.3",
      "period_from": "2026-10-14",
      "period_to": "2026-11-05",
      "small_sample": false,
      "average_odds": "1.60",
      "odds_from_author": 10,
      "odds_from_snapshot": 0
     },
     {
      "code_name": "total",
      "in_words": "Over/under goals",
      "url": null,
      "settled_picks": 8,
      "won": 3,
      "void": 0,
      "net_points_hundredths": -32500,
      "return_percent": "-40.6",
      "period_from": "2026-10-09",
      "period_to": "2026-11-05",
      "small_sample": true,
      "average_odds": "1.67",
      "odds_from_author": 8,
      "odds_from_snapshot": 0
     },
     {
      "code_name": "correct_score_market",
      "in_words": "Correct score",
      "url": null,
      "settled_picks": 2,
      "won": 0,
      "void": 0,
      "net_points_hundredths": -20000,
      "return_percent": "-100.0",
      "period_from": "2026-11-02",
      "period_to": "2026-11-03",
      "small_sample": true,
      "average_odds": "7.95",
      "odds_from_author": 2,
      "odds_from_snapshot": 0
     },
     {
      "code_name": "double_chance",
      "in_words": "Double chance",
      "url": null,
      "settled_picks": 1,
      "won": 1,
      "void": 0,
      "net_points_hundredths": 3745,
      "return_percent": "37.5",
      "period_from": "2026-10-22",
      "period_to": "2026-10-22",
      "small_sample": true,
      "average_odds": "1.40",
      "odds_from_author": 1,
      "odds_from_snapshot": 0
     }
    ],
    "leagues": [
     {
      "code_name": "UEFA Champions League",
      "in_words": "UEFA Champions League",
      "url": "/football/competitions/uefa-champions-league/",
      "settled_picks": 11,
      "won": 4,
      "void": 0,
      "net_points_hundredths": -45349,
      "return_percent": "-41.2",
      "period_from": "2026-10-14",
      "period_to": "2026-11-03",
      "small_sample": false,
      "average_odds": "2.62",
      "odds_from_author": 11,
      "odds_from_snapshot": 0,
      "league_markets": [
       {
        "code_name": "both_teams_score",
        "in_words": "Both teams to score",
        "settled_picks": 4,
        "won": 2,
        "void": 0,
        "net_points_hundredths": -8243,
        "return_percent": null,
        "period_from": "2026-10-14",
        "period_to": "2026-11-03",
        "small_sample": true,
        "average_odds": "1.58",
        "odds_from_author": 4,
        "odds_from_snapshot": 0
       },
       {
        "code_name": "1x2",
        "in_words": "Match result",
        "settled_picks": 4,
        "won": 1,
        "void": 0,
        "net_points_hundredths": -23506,
        "return_percent": null,
        "period_from": "2026-10-14",
        "period_to": "2026-11-03",
        "small_sample": true,
        "average_odds": "2.40",
        "odds_from_author": 4,
        "odds_from_snapshot": 0
       },
       {
        "code_name": "total",
        "in_words": "Over/under goals",
        "settled_picks": 2,
        "won": 1,
        "void": 0,
        "net_points_hundredths": -3600,
        "return_percent": null,
        "period_from": "2026-10-20",
        "period_to": "2026-11-03",
        "small_sample": true,
        "average_odds": "1.52",
        "odds_from_author": 2,
        "odds_from_snapshot": 0
       },
       {
        "code_name": "correct_score_market",
        "in_words": "Correct score",
        "settled_picks": 1,
        "won": 0,
        "void": 0,
        "net_points_hundredths": -10000,
        "return_percent": null,
        "period_from": "2026-11-03",
        "period_to": "2026-11-03",
        "small_sample": true,
        "average_odds": "9.90",
        "odds_from_author": 1,
        "odds_from_snapshot": 0
       }
      ]
     },
     {
      "code_name": "Ligue 1",
      "in_words": "Ligue 1",
      "url": "/football/competitions/ligue-1/",
      "settled_picks": 9,
      "won": 3,
      "void": 0,
      "net_points_hundredths": -39500,
      "return_percent": "-43.9",
      "period_from": "2026-10-09",
      "period_to": "2026-11-02",
      "small_sample": true,
      "average_odds": "1.85",
      "odds_from_author": 9,
      "odds_from_snapshot": 0,
      "league_markets": [
       {
        "code_name": "1x2",
        "in_words": "Match result",
        "settled_picks": 4,
        "won": 2,
        "void": 0,
        "net_points_hundredths": -4900,
        "return_percent": null,
        "period_from": "2026-10-09",
        "period_to": "2026-11-02",
        "small_sample": true,
        "average_odds": "2.14",
        "odds_from_author": 4,
        "odds_from_snapshot": 0
       },
       {
        "code_name": "total",
        "in_words": "Over/under goals",
        "settled_picks": 3,
        "won": 1,
        "void": 0,
        "net_points_hundredths": -14600,
        "return_percent": null,
        "period_from": "2026-10-09",
        "period_to": "2026-11-02",
        "small_sample": true,
        "average_odds": "1.64",
        "odds_from_author": 3,
        "odds_from_snapshot": 0
       },
       {
        "code_name": "both_teams_score",
        "in_words": "Both teams to score",
        "settled_picks": 2,
        "won": 0,
        "void": 0,
        "net_points_hundredths": -20000,
        "return_percent": null,
        "period_from": "2026-10-26",
        "period_to": "2026-11-02",
        "small_sample": true,
        "average_odds": "1.60",
        "odds_from_author": 2,
        "odds_from_snapshot": 0
       }
      ]
     },
     {
      "code_name": "UEFA Europa League",
      "in_words": "UEFA Europa League",
      "url": "/football/competitions/uefa-europa-league/",
      "settled_picks": 5,
      "won": 4,
      "void": 0,
      "net_points_hundredths": 7448,
      "return_percent": "14.9",
      "period_from": "2026-10-22",
      "period_to": "2026-11-05",
      "small_sample": true,
      "average_odds": "1.56",
      "odds_from_author": 5,
      "odds_from_snapshot": 0,
      "league_markets": [
       {
        "code_name": "both_teams_score",
        "in_words": "Both teams to score",
        "settled_picks": 2,
        "won": 1,
        "void": 0,
        "net_points_hundredths": -5000,
        "return_percent": null,
        "period_from": "2026-10-22",
        "period_to": "2026-11-05",
        "small_sample": true,
        "average_odds": "1.58",
        "odds_from_author": 2,
        "odds_from_snapshot": 0
       },
       {
        "code_name": "double_chance",
        "in_words": "Double chance",
        "settled_picks": 1,
        "won": 1,
        "void": 0,
        "net_points_hundredths": 3745,
        "return_percent": null,
        "period_from": "2026-10-22",
        "period_to": "2026-10-22",
        "small_sample": true,
        "average_odds": "1.40",
        "odds_from_author": 1,
        "odds_from_snapshot": 0
       },
       {
        "code_name": "1x2",
        "in_words": "Match result",
        "settled_picks": 1,
        "won": 1,
        "void": 0,
        "net_points_hundredths": 3003,
        "return_percent": null,
        "period_from": "2026-10-22",
        "period_to": "2026-10-22",
        "small_sample": true,
        "average_odds": "1.54",
        "odds_from_author": 1,
        "odds_from_snapshot": 0
       },
       {
        "code_name": "total",
        "in_words": "Over/under goals",
        "settled_picks": 1,
        "won": 1,
        "void": 0,
        "net_points_hundredths": 5700,
        "return_percent": null,
        "period_from": "2026-11-05",
        "period_to": "2026-11-05",
        "small_sample": true,
        "average_odds": "1.69",
        "odds_from_author": 1,
        "odds_from_snapshot": 0
       }
      ]
     },
     {
      "code_name": "LaLiga",
      "in_words": "LaLiga",
      "url": "/football/competitions/laliga/",
      "settled_picks": 4,
      "won": 1,
      "void": 0,
      "net_points_hundredths": -21071,
      "return_percent": "-52.7",
      "period_from": "2026-11-02",
      "period_to": "2026-11-02",
      "small_sample": true,
      "average_odds": "3.39",
      "odds_from_author": 4,
      "odds_from_snapshot": 0,
      "league_markets": [
       {
        "code_name": "both_teams_score",
        "in_words": "Both teams to score",
        "settled_picks": 1,
        "won": 1,
        "void": 0,
        "net_points_hundredths": 8929,
        "return_percent": null,
        "period_from": "2026-11-02",
        "period_to": "2026-11-02",
        "small_sample": true,
        "average_odds": "1.95",
        "odds_from_author": 1,
        "odds_from_snapshot": 0
       },
       {
        "code_name": "correct_score_market",
        "in_words": "Correct score",
        "settled_picks": 1,
        "won": 0,
        "void": 0,
        "net_points_hundredths": -10000,
        "return_percent": null,
        "period_from": "2026-11-02",
        "period_to": "2026-11-02",
        "small_sample": true,
        "average_odds": "6.00",
        "odds_from_author": 1,
        "odds_from_snapshot": 0
       },
       {
        "code_name": "1x2",
        "in_words": "Match result",
        "settled_picks": 1,
        "won": 0,
        "void": 0,
        "net_points_hundredths": -10000,
        "return_percent": null,
        "period_from": "2026-11-02",
        "period_to": "2026-11-02",
        "small_sample": true,
        "average_odds": "3.43",
        "odds_from_author": 1,
        "odds_from_snapshot": 0
       },
       {
        "code_name": "total",
        "in_words": "Over/under goals",
        "settled_picks": 1,
        "won": 0,
        "void": 0,
        "net_points_hundredths": -10000,
        "return_percent": null,
        "period_from": "2026-11-02",
        "period_to": "2026-11-02",
        "small_sample": true,
        "average_odds": "2.16",
        "odds_from_author": 1,
        "odds_from_snapshot": 0
       }
      ]
     },
     {
      "code_name": "UEFA Conference League",
      "in_words": "UEFA Conference League",
      "url": "/football/competitions/uefa-conference-league/",
      "settled_picks": 3,
      "won": 0,
      "void": 0,
      "net_points_hundredths": -30000,
      "return_percent": "-100.0",
      "period_from": "2026-11-05",
      "period_to": "2026-11-05",
      "small_sample": true,
      "average_odds": "1.80",
      "odds_from_author": 3,
      "odds_from_snapshot": 0,
      "league_markets": [
       {
        "code_name": "both_teams_score",
        "in_words": "Both teams to score",
        "settled_picks": 1,
        "won": 0,
        "void": 0,
        "net_points_hundredths": -10000,
        "return_percent": null,
        "period_from": "2026-11-05",
        "period_to": "2026-11-05",
        "small_sample": true,
        "average_odds": "1.45",
        "odds_from_author": 1,
        "odds_from_snapshot": 0
       },
       {
        "code_name": "1x2",
        "in_words": "Match result",
        "settled_picks": 1,
        "won": 0,
        "void": 0,
        "net_points_hundredths": -10000,
        "return_percent": null,
        "period_from": "2026-11-05",
        "period_to": "2026-11-05",
        "small_sample": true,
        "average_odds": "2.39",
        "odds_from_author": 1,
        "odds_from_snapshot": 0
       },
       {
        "code_name": "total",
        "in_words": "Over/under goals",
        "settled_picks": 1,
        "won": 0,
        "void": 0,
        "net_points_hundredths": -10000,
        "return_percent": null,
        "period_from": "2026-11-05",
        "period_to": "2026-11-05",
        "small_sample": true,
        "average_odds": "1.55",
        "odds_from_author": 1,
        "odds_from_snapshot": 0
       }
      ]
     }
    ],
    "best_slice": null
   }
  ],
  "best_slice": null
 },
 "author_card": {
  "body": "Record tracked by Forecast Record since 25 September 2026 · 164 predictions · last change 6 November 2026",
  "url": "https://forecastrecord.com/authors/joshua-cole/",
  "s": "2026-09-25",
  "prediction_count": 164,
  "refreshed_at": "2026-11-06",
  "html": "<a href=\"https://forecastrecord.com/authors/joshua-cole/\">Record tracked by Forecast Record since 25 September 2026 · 164 predictions · last change 6 November 2026</a>"
 },
 "trust": {
  "tier": "tracked",
  "in_words": "Tracked",
  "settled_count": 95,
  "days": 33,
  "weeks": 5,
  "archive": false,
  "in_review": false,
  "own_page": true,
  "won_count": 21,
  "first_settled_on": "2026-10-06",
  "products_in_level": 1,
  "rule": {
   "tracked": {
    "min_settled": 30,
    "min_days": 30,
    "min_distinct_weeks": 2,
    "no_violations": true
   },
   "established": {
    "min_settled": 100,
    "min_days": 90
   }
  },
  "show": true
 },
 "colleagues": [
  {
   "source_code": "football-whispers",
   "source_name": "Football Whispers",
   "source_url": "/sources/football-whispers/",
   "label": "Also at Football Whispers",
   "authors_total": 15,
   "authors": [
    {
     "name": "Kelechi Udoka",
     "url": "/authors/kelechi-udoka/",
     "headline_part": "live",
     "settled_picks": 163,
     "return_percent": "-6.4",
     "small_sample": false,
     "average_odds": "2.94",
     "odds_from_author": 154,
     "odds_from_snapshot": 9
    },
    {
     "name": "Adam Clancy",
     "url": "/authors/adam-clancy/",
     "headline_part": "live",
     "settled_picks": 90,
     "return_percent": "11.8",
     "small_sample": false,
     "average_odds": "2.74",
     "odds_from_author": 84,
     "odds_from_snapshot": 6
    },
    {
     "name": "Stephen",
     "url": "/authors/stephen/",
     "headline_part": "live",
     "settled_picks": 84,
     "return_percent": "-15.5",
     "small_sample": false,
     "average_odds": "1.90",
     "odds_from_author": 82,
     "odds_from_snapshot": 2
    },
    {
     "name": "Saikat Mandal",
     "url": "/authors/saikat-mandal/",
     "headline_part": "live",
     "settled_picks": 57,
     "return_percent": "32.5",
     "small_sample": false,
     "average_odds": "2.21",
     "odds_from_author": 56,
     "odds_from_snapshot": 1
    },
    {
     "name": "Lewis Nolan",
     "url": "/authors/lewis-nolan/",
     "headline_part": "live",
     "settled_picks": 47,
     "return_percent": "-55.1",
     "small_sample": false,
     "average_odds": "2.22",
     "odds_from_author": 47,
     "odds_from_snapshot": 0
    },
    {
     "name": "Adeyeye Oluwapelumi",
     "url": "/authors/adeyeye-oluwapelumi/",
     "headline_part": "live",
     "settled_picks": 33,
     "return_percent": null,
     "small_sample": true,
     "average_odds": null,
     "odds_from_author": null,
     "odds_from_snapshot": null
    },
    {
     "name": "Marvellous Adepoju",
     "url": "/authors/marvellous-adepoju/",
     "headline_part": "live",
     "settled_picks": 25,
     "return_percent": null,
     "small_sample": true,
     "average_odds": null,
     "odds_from_author": null,
     "odds_from_snapshot": null
    },
    {
     "name": "Byron David",
     "url": "/authors/byron-david/",
     "headline_part": "live",
     "settled_picks": 24,
     "return_percent": "19.7",
     "small_sample": false,
     "average_odds": "2.09",
     "odds_from_author": 24,
     "odds_from_snapshot": 0
    },
    {
     "name": "Akhil Fisher",
     "url": "/authors/akhil-fisher/",
     "headline_part": "live",
     "settled_picks": 22,
     "return_percent": "5.6",
     "small_sample": false,
     "average_odds": "2.18",
     "odds_from_author": 21,
     "odds_from_snapshot": 1
    },
    {
     "name": "Joshua Ojele",
     "url": "/authors/joshua-ojele/",
     "headline_part": "live",
     "settled_picks": 18,
     "return_percent": "-14.8",
     "small_sample": false,
     "average_odds": "1.69",
     "odds_from_author": 16,
     "odds_from_snapshot": 2
    },
    {
     "name": "Calum Burrowes",
     "url": "/authors/calum-burrowes/",
     "headline_part": "live",
     "settled_picks": 15,
     "return_percent": null,
     "small_sample": true,
     "average_odds": null,
     "odds_from_author": null,
     "odds_from_snapshot": null
    },
    {
     "name": "Andy Delaney",
     "url": "/authors/andy-delaney/",
     "headline_part": "live",
     "settled_picks": 14,
     "return_percent": "61.7",
     "small_sample": false,
     "average_odds": "2.00",
     "odds_from_author": 13,
     "odds_from_snapshot": 1
    }
   ]
  },
  {
   "source_code": "sports-mole",
   "source_name": "Sports Mole",
   "source_url": "/sources/sports-mole/",
   "label": "Also at Sports Mole",
   "authors_total": 24,
   "authors": [
    {
     "name": "Saikat Mandal",
     "url": "/authors/saikat-mandal/",
     "headline_part": "live",
     "settled_picks": 57,
     "return_percent": "32.5",
     "small_sample": false,
     "average_odds": "2.21",
     "odds_from_author": 56,
     "odds_from_snapshot": 1
    },
    {
     "name": "Lewis Nolan",
     "url": "/authors/lewis-nolan/",
     "headline_part": "live",
     "settled_picks": 47,
     "return_percent": "-55.1",
     "small_sample": false,
     "average_odds": "2.22",
     "odds_from_author": 47,
     "odds_from_snapshot": 0
    },
    {
     "name": "Adeyeye Oluwapelumi",
     "url": "/authors/adeyeye-oluwapelumi/",
     "headline_part": "live",
     "settled_picks": 33,
     "return_percent": null,
     "small_sample": true,
     "average_odds": null,
     "odds_from_author": null,
     "odds_from_snapshot": null
    },
    {
     "name": "Marvellous Adepoju",
     "url": "/authors/marvellous-adepoju/",
     "headline_part": "live",
     "settled_picks": 25,
     "return_percent": null,
     "small_sample": true,
     "average_odds": null,
     "odds_from_author": null,
     "odds_from_snapshot": null
    },
    {
     "name": "Byron David",
     "url": "/authors/byron-david/",
     "headline_part": "live",
     "settled_picks": 24,
     "return_percent": "19.7",
     "small_sample": false,
     "average_odds": "2.09",
     "odds_from_author": 24,
     "odds_from_snapshot": 0
    },
    {
     "name": "Joshua Ojele",
     "url": "/authors/joshua-ojele/",
     "headline_part": "live",
     "settled_picks": 18,
     "return_percent": "-14.8",
     "small_sample": false,
     "average_odds": "1.69",
     "odds_from_author": 16,
     "odds_from_snapshot": 2
    },
    {
     "name": "Calum Burrowes",
     "url": "/authors/calum-burrowes/",
     "headline_part": "live",
     "settled_picks": 15,
     "return_percent": null,
     "small_sample": true,
     "average_odds": null,
     "odds_from_author": null,
     "odds_from_snapshot": null
    },
    {
     "name": "Matt Law",
     "url": "/authors/matt-law/",
     "headline_part": "live",
     "settled_picks": 13,
     "return_percent": "-76.7",
     "small_sample": false,
     "average_odds": "7.90",
     "odds_from_author": 0,
     "odds_from_snapshot": 13
    },
    {
     "name": "Sam Varley",
     "url": "/authors/sam-varley/",
     "headline_part": "live",
     "settled_picks": 11,
     "return_percent": null,
     "small_sample": true,
     "average_odds": null,
     "odds_from_author": null,
     "odds_from_snapshot": null
    },
    {
     "name": "Darren Plant",
     "url": "/authors/darren-plant/",
     "headline_part": "live",
     "settled_picks": 6,
     "return_percent": null,
     "small_sample": true,
     "average_odds": "5.46",
     "odds_from_author": 0,
     "odds_from_snapshot": 6
    },
    {
     "name": "Oliver Thomas",
     "url": "/authors/oliver-thomas/",
     "headline_part": "live",
     "settled_picks": 6,
     "return_percent": null,
     "small_sample": true,
     "average_odds": null,
     "odds_from_author": null,
     "odds_from_snapshot": null
    },
    {
     "name": "Seye Omidiora",
     "url": "/authors/seye-omidiora/",
     "headline_part": "live",
     "settled_picks": 5,
     "return_percent": null,
     "small_sample": true,
     "average_odds": "10.50",
     "odds_from_author": 0,
     "odds_from_snapshot": 5
    }
   ]
  }
 ],
 "author_type": "Pundit",
 "data_changes": {
  "added_later": null,
  "records_corrected": 1,
  "last_correction_at": "2026-10-14T02:00:56.189Z",
  "corrections_url": "/corrections/",
  "text": "1 record shown here has been corrected; the last correction was on 14 October 2026, with its reason in the corrections log."
 },
 "entity_id": "person:o-47aa46371e213875f5de5053",
 "source_revision": 164,
 "related": [
  {
   "url": "/cards/e-47aa46371e213875f5de5053-bank/",
   "name": "Bankroll card — Joshua Cole",
   "detail": null,
   "source_group": "cards"
  },
  {
   "url": "/cards/e-47aa46371e213875f5de5053-month-following/",
   "name": "A month following Joshua Cole",
   "detail": null,
   "source_group": "cards"
  },
  {
   "url": "/cards/e-47aa46371e213875f5de5053-said-vs-happened/",
   "name": "Said → happened — Joshua Cole",
   "detail": null,
   "source_group": "cards"
  },
  {
   "url": "/cards/e-47aa46371e213875f5de5053-turning-point/",
   "name": "Turning point — Joshua Cole",
   "detail": null,
   "source_group": "cards"
  },
  {
   "url": "/for-authors/joshua-cole/",
   "name": "Your record on Forecast Record: Joshua Cole",
   "detail": null,
   "source_group": "for_authors"
  }
 ],
 "number_sets": [
  {
   "set": "profile.settled",
   "entity": "e-47aa46371e213875f5de5053",
   "value": 37,
   "where": "coverage",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.predictions",
   "entity": "e-47aa46371e213875f5de5053",
   "value": 164,
   "where": "coverage",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.predictions",
   "entity": "e-47aa46371e213875f5de5053",
   "value": 164,
   "where": "picks",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.part.live",
   "entity": "e-47aa46371e213875f5de5053",
   "value": 32,
   "where": "origin",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.part.archived",
   "entity": "e-47aa46371e213875f5de5053",
   "value": 0,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.part.found_after",
   "entity": "e-47aa46371e213875f5de5053",
   "value": 0,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.checked.archived",
   "entity": "e-47aa46371e213875f5de5053",
   "value": 0,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.checked.live",
   "entity": "e-47aa46371e213875f5de5053",
   "value": 95,
   "where": "origin",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.window",
   "entity": "e-47aa46371e213875f5de5053",
   "value": 32,
   "where": "calculation",
   "as_of": "2026-11-07T19:52:23.438Z",
   "label": true
  },
  {
   "set": "profile.checked",
   "entity": "e-47aa46371e213875f5de5053",
   "value": 95,
   "where": "trust-level",
   "as_of": "2026-11-07T19:52:23.438Z",
   "label": true
  }
 ]
}
