{
 "schema_name": "page",
 "schema_version": "2.0",
 "page_type": "author",
 "url": "/authors/joshua-ojele/",
 "canonical": "/authors/joshua-ojele/",
 "language": "en",
 "hreflang": [],
 "translations": [],
 "heading": "Joshua Ojele: Football Prediction Record",
 "description": "Verified record: 18 settled picks by Joshua Ojele recorded before kick-off across 10 matches, 30 Sep 2026 – 5 Nov 2026: −14.8% at our recorded market prices.",
 "first_paragraph": {
  "body": "Forecast Record recorded 18 settled live picks by Joshua Ojele before kick-off across 10 matches between 30 September and 5 November 2026. At our recorded market prices these picks returned −14.8% on the total staked. Of the 121 predictions we hold for Joshua Ojele, 75 are linked to matches: 75 were recorded by us before kick-off. Figures as of 7 November 2026.",
  "key_number": "−14.8%",
  "data": "2026-11-07",
  "source_info": "our own evidence archive and market snapshot",
  "brand": "Forecast Record"
 },
 "indexable": false,
 "noindex_reason": "outside_core",
 "indexing_threshold": {
  "settled_count": 27,
  "date_count": 16,
  "required_settled": 10,
  "required_dates": 2
 },
 "data_date": "2026-11-07T17:47:35.538Z",
 "built_at": "2026-11-07T19:52:23.438Z",
 "lastmod": "2026-11-08T02:12:33.000Z",
 "content_hash": null,
 "meaning_hash": "6b67477ad55fe8646370cb288dcd0542e5a15800dc70c9556cb211024743505e",
 "dependency_group": "author:e-039bcef343c50ba1d22f8e19",
 "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-ojele/index.json",
   "bytes": null
  },
  {
   "type_code": "csv",
   "url": "/authors/joshua-ojele/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-039bcef343c50ba1d22f8e19",
  "public_name": "Joshua Ojele",
  "tracker_number": 1407,
  "status": "active",
  "inactive_since": null,
  "verified_creator": false,
  "observation_period": {
   "since": "2026-09-28",
   "until": "2026-11-07"
  },
  "platform_list": [
   {
    "medium": "website",
    "handle": null,
    "url": null,
    "link_confirmed": false,
    "show": true
   }
  ],
  "comment": null
 },
 "headline_number": {
  "metric": {
   "metric_id": "p-e-039bcef343c50ba1d22f8e19-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": "-14.7667",
   "unit": "percent",
   "data_status": "calculated",
   "cause": null,
   "n_bets": 18,
   "n_events": 10,
   "n_void": 0,
   "ci_low": "-59.2194",
   "ci_high": "28.3742",
   "ci_method": "cluster_bootstrap",
   "price_source": "market_price",
   "coverage_percent": "88.89",
   "breakdown": [],
   "methodology_version": "2.2",
   "data_date": "2026-11-07T17:47:35.538Z",
   "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: 18 settled picks across 10 matches",
  "average_odds": "1.69",
  "odds_from_author": 16,
  "odds_from_snapshot": 2
 },
 "metrics": [],
 "history": [],
 "simulation": {
  "series_uid": "sr-1d32c4575dd80f554f79b4e9",
  "bankroll_hundredths": 973420,
  "reserve_hundredths": 0,
  "issued_total_hundredths": 1000000,
  "top_up_count": 0,
  "profit_hundredths": -26580,
  "rewards_off": null,
  "initial_hundredths": 1000000,
  "stake_hundredths": 10000,
  "data_points": [
   {
    "at": "2026-10-10T23:35:57.651Z",
    "bankroll_hundredths": 1005405,
    "profit_hundredths": 5405,
    "outcome_id": "ish-17c04561956ac39036de0131"
   },
   {
    "at": "2026-10-10T23:35:58.223Z",
    "bankroll_hundredths": 1013405,
    "profit_hundredths": 13405,
    "outcome_id": "ish-b2f999834a79bfc5e84ae4b7"
   },
   {
    "at": "2026-10-10T23:35:59.383Z",
    "bankroll_hundredths": 1017679,
    "profit_hundredths": 17679,
    "outcome_id": "ish-9950ab593e7d1fae35962906"
   },
   {
    "at": "2026-10-10T23:35:59.425Z",
    "bankroll_hundredths": 1025086,
    "profit_hundredths": 25086,
    "outcome_id": "ish-71f3f35a111afadf23fa35c1"
   },
   {
    "at": "2026-10-22T11:04:31.815Z",
    "bankroll_hundredths": 1015086,
    "profit_hundredths": 15086,
    "outcome_id": "ish-c3092ffdfaed6acbd0af51e9"
   },
   {
    "at": "2026-10-22T11:15:16.386Z",
    "bankroll_hundredths": 1022286,
    "profit_hundredths": 22286,
    "outcome_id": "ish-578253c48980d74cce35b11e"
   },
   {
    "at": "2026-10-22T12:26:02.935Z",
    "bankroll_hundredths": 1025286,
    "profit_hundredths": 25286,
    "outcome_id": "ish-8dbbc36ffee18ecbda47d5e9"
   },
   {
    "at": "2026-10-24T21:40:50.935Z",
    "bankroll_hundredths": 1015286,
    "profit_hundredths": 15286,
    "outcome_id": "ish-2124f8f2ceab02c47e861e1c"
   },
   {
    "at": "2026-10-24T21:40:50.964Z",
    "bankroll_hundredths": 1005286,
    "profit_hundredths": 5286,
    "outcome_id": "ish-1fd66e78ff533488dd63c026"
   },
   {
    "at": "2026-10-26T12:50:46.199Z",
    "bankroll_hundredths": 1012920,
    "profit_hundredths": 12920,
    "outcome_id": "ish-fb0293b31a05136b5f73b7ca"
   },
   {
    "at": "2026-10-30T23:12:29.211Z",
    "bankroll_hundredths": 1002920,
    "profit_hundredths": 2920,
    "outcome_id": "ish-42d20dd48325671eb75f036d"
   },
   {
    "at": "2026-10-30T23:12:29.254Z",
    "bankroll_hundredths": 992920,
    "profit_hundredths": -7080,
    "outcome_id": "ish-1585a6801b60828a5a14059f"
   },
   {
    "at": "2026-11-05T22:10:15.850Z",
    "bankroll_hundredths": 982920,
    "profit_hundredths": -17080,
    "outcome_id": "ish-bd5bc444621dccf9bab5011b"
   },
   {
    "at": "2026-11-07T09:36:57.646Z",
    "bankroll_hundredths": 972920,
    "profit_hundredths": -27080,
    "outcome_id": "ish-bab32097bdf5f51b7f958cba"
   },
   {
    "at": "2026-11-07T10:28:44.993Z",
    "bankroll_hundredths": 962920,
    "profit_hundredths": -37080,
    "outcome_id": "ish-a09c54005fec3bec9fb81da2"
   },
   {
    "at": "2026-11-07T12:19:06.132Z",
    "bankroll_hundredths": 966320,
    "profit_hundredths": -33680,
    "outcome_id": "ish-35c894f27623b42424cdef90"
   },
   {
    "at": "2026-11-07T12:19:06.159Z",
    "bankroll_hundredths": 970720,
    "profit_hundredths": -29280,
    "outcome_id": "ish-1bbcea9959682ac5ee050491"
   },
   {
    "at": "2026-11-07T12:19:06.186Z",
    "bankroll_hundredths": 973420,
    "profit_hundredths": -26580,
    "outcome_id": "ish-e96e1aa6547ae53b248a73e8"
   }
  ],
  "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": 235,
  "recognised": 121,
  "accepted": 63,
  "executed": 30,
  "calculated": 30,
  "gaps": [
   {
    "cause": "not_checked",
    "figure": 30
   },
   {
    "cause": "not_supported",
    "figure": 23
   },
   {
    "cause": "other reading",
    "figure": 22
   },
   {
    "cause": "outside the method",
    "figure": 10
   },
   {
    "cause": "National-team matches",
    "figure": 3
   },
   {
    "cause": "no_price_at_capture",
    "figure": 2
   },
   {
    "cause": "disputed_reading",
    "figure": 1
   }
  ]
 },
 "record_counts": {
  "dictionary_version": "1",
  "statements": 235,
  "of_them_restored": 0,
  "not_predictions": {
   "opinions": 18,
   "not_about_a_match": 96,
   "unclassified": 0
  },
  "predictions": 121,
  "predictions_restored": 0,
  "matches": 28,
  "admitted": 63,
  "qualifying_picks": 30,
  "qualifying_picks_restored": 0,
  "settled_picks": 30,
  "settled_picks_restored": 0,
  "series_list": [
   {
    "code_name": "market_price",
    "derived": false,
    "is_restored": false,
    "qualifying_picks": 18,
    "settled_picks": 18,
    "void": 0,
    "pending_picks": 0,
    "matches": 10,
    "operations_settled": 18,
    "stakes_hundredths": [
     10000
    ],
    "methodologies": [
     "2.2"
    ],
    "display_name": "At an independent odds snapshot"
   },
   {
    "code_name": "author_price",
    "derived": false,
    "is_restored": false,
    "qualifying_picks": 28,
    "settled_picks": 28,
    "void": 0,
    "pending_picks": 0,
    "matches": 14,
    "operations_settled": 28,
    "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": 10,
    "settled_picks": 6,
    "void": 0,
    "pending_picks": 4,
    "matches": 6,
    "operations_settled": 6,
    "stakes_hundredths": [
     10000
    ],
    "methodologies": [
     "2.2"
    ],
    "display_name": "Forecast Record reconstruction from the predicted score"
   }
  ],
  "gaps": [
   {
    "code_name": "not_checked",
    "cause": "not_checked",
    "figure": 30
   },
   {
    "code_name": "not_supported",
    "cause": "not_supported",
    "figure": 23
   },
   {
    "code_name": "ambiguous",
    "cause": "other reading",
    "figure": 22
   },
   {
    "code_name": "not_admitted",
    "cause": "outside the method",
    "figure": 10
   },
   {
    "code_name": "outside_coverage",
    "cause": "National-team matches",
    "figure": 3
   },
   {
    "code_name": "no_price_at_capture",
    "cause": "no_price_at_capture",
    "figure": 2
   },
   {
    "code_name": "disputed_reading",
    "cause": "disputed_reading",
    "figure": 1
   }
  ],
  "duplicates": 0,
  "junk": {
   "ads": 1,
   "service": 3
  },
  "dictionary_url": "/methodology/#words"
 },
 "evidence_items": [
  {
   "observation_id": "n-ade51b0fbe6dc48a5c811fb8",
   "url": "/authors/joshua-ojele/picks/7/#pick-n-ade51b0fbe6dc48a5c811fb8",
   "quote_text": "the correct score market has a correct score of 1-2 at 17/2 (9.50).",
   "fragment_from": 4893,
   "fragment_to": 4960,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/cambuur-vs-psv-eindhoven-prediction-08-11-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "c9431b7454a7ecefa6ce0b4b421c3b2a4536c862b4584992b906fb86483b08ae",
    "material_removed": false
   },
   "published_at": "2026-11-07T09:27:39.000Z",
   "detected_at": "2026-11-07T09:34:21.687Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "ambiguous",
   "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-07T09:27:39.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-07T09:27:39.000Z",
    "detected_at": "2026-11-07T09:34:21.687Z",
    "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-bf4dd170f867ddd2a4304043",
   "url": "/authors/joshua-ojele/picks/7/#pick-n-bf4dd170f867ddd2a4304043",
   "quote_text": "PSV to win + BTTS – Yes sits at 6/5 (2.20), which is the high-value punt for us",
   "fragment_from": 4806,
   "fragment_to": 4885,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/cambuur-vs-psv-eindhoven-prediction-08-11-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "c9431b7454a7ecefa6ce0b4b421c3b2a4536c862b4584992b906fb86483b08ae",
    "material_removed": false
   },
   "published_at": "2026-11-07T09:27:39.000Z",
   "detected_at": "2026-11-07T09:34:21.687Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "ambiguous",
   "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-07T09:27:39.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-07T09:27:39.000Z",
    "detected_at": "2026-11-07T09:34:21.687Z",
    "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-da2b830a4d87f0ee8db1f164",
   "url": "/authors/joshua-ojele/picks/8/#pick-n-da2b830a4d87f0ee8db1f164",
   "quote_text": "we are backing them to secure all three points, which is currently priced at 2/5 (1.40).",
   "fragment_from": 4716,
   "fragment_to": 4804,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/cambuur-vs-psv-eindhoven-prediction-08-11-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "c9431b7454a7ecefa6ce0b4b421c3b2a4536c862b4584992b906fb86483b08ae",
    "material_removed": false
   },
   "published_at": "2026-11-07T09:27:39.000Z",
   "detected_at": "2026-11-07T09:34:21.687Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "ambiguous",
   "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-07T09:27:39.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-07T09:27:39.000Z",
    "detected_at": "2026-11-07T09:34:21.687Z",
    "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-1b79263fd65a5e35c609055d",
   "url": "/authors/joshua-ojele/picks/7/#pick-n-1b79263fd65a5e35c609055d",
   "quote_text": "we fancy BTTS – Yes at 11/25 (1.44)",
   "fragment_from": 4508,
   "fragment_to": 4543,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/cambuur-vs-psv-eindhoven-prediction-08-11-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "c9431b7454a7ecefa6ce0b4b421c3b2a4536c862b4584992b906fb86483b08ae",
    "material_removed": false
   },
   "published_at": "2026-11-07T09:27:39.000Z",
   "detected_at": "2026-11-07T09:34:21.687Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "ambiguous",
   "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-07T09:27:39.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-07T09:27:39.000Z",
    "detected_at": "2026-11-07T09:34:21.687Z",
    "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-20d500eb433568dc39eb8be7",
   "url": "/authors/joshua-ojele/picks/7/#pick-n-20d500eb433568dc39eb8be7",
   "quote_text": "> Over 2.5 goals at 7/25 (1.28) | Likelihood: Possible",
   "fragment_from": 5072,
   "fragment_to": 5126,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/cambuur-vs-psv-eindhoven-prediction-08-11-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "c9431b7454a7ecefa6ce0b4b421c3b2a4536c862b4584992b906fb86483b08ae",
    "material_removed": false
   },
   "published_at": "2026-11-07T09:27:39.000Z",
   "detected_at": "2026-11-07T09:34:21.687Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "ambiguous",
   "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-07T09:27:39.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-07T09:27:39.000Z",
    "detected_at": "2026-11-07T09:34:21.687Z",
    "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-f7923a7d9ec37dd1eacd37bd",
   "url": "/evidence/?pick=n-f7923a7d9ec37dd1eacd37bd",
   "quote_text": "> Correct score: 0-2 at 13/2 (7.50) | Likelihood: Outsider",
   "fragment_from": 5022,
   "fragment_to": 5080,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/vitoria-guimaraes-vs-porto-prediction-08-11-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "745dca98f49ed86080248e8f4d4e160369b5f0cbfd4b59dae599c005347f59a9",
    "material_removed": false
   },
   "published_at": "2026-11-07T02:36:45.000Z",
   "detected_at": "2026-11-07T02:47:45.349Z",
   "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-07T02:36:45.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-07T02:36:45.000Z",
    "detected_at": "2026-11-07T02:47:45.349Z",
    "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-573b1eb2961d48c9a1909c49",
   "url": "/evidence/?pick=n-573b1eb2961d48c9a1909c49",
   "quote_text": "> BTTS – No at 4/5 (1.80) | Likelihood: Possible",
   "fragment_from": 4972,
   "fragment_to": 5020,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/vitoria-guimaraes-vs-porto-prediction-08-11-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "745dca98f49ed86080248e8f4d4e160369b5f0cbfd4b59dae599c005347f59a9",
    "material_removed": false
   },
   "published_at": "2026-11-07T02:36:45.000Z",
   "detected_at": "2026-11-07T02:47:45.349Z",
   "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-07T02:36:45.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-07T02:36:45.000Z",
    "detected_at": "2026-11-07T02:47:45.349Z",
    "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-c563714bbcfa547a8df5da13",
   "url": "/evidence/?pick=n-c563714bbcfa547a8df5da13",
   "quote_text": "> HT/FT – 2/2 at 7/5 (2.40) | Likelihood: Possible",
   "fragment_from": 4920,
   "fragment_to": 4970,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/vitoria-guimaraes-vs-porto-prediction-08-11-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "745dca98f49ed86080248e8f4d4e160369b5f0cbfd4b59dae599c005347f59a9",
    "material_removed": false
   },
   "published_at": "2026-11-07T02:36:45.000Z",
   "detected_at": "2026-11-07T02:47:45.349Z",
   "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-07T02:36:45.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-07T02:36:45.000Z",
    "detected_at": "2026-11-07T02:47:45.349Z",
    "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-cc279ddec60a74f29a03258c",
   "url": "/evidence/?pick=n-cc279ddec60a74f29a03258c",
   "quote_text": "At 14/25 (1.56), Porto are favoured by the bookmakers to secure all three points here",
   "fragment_from": 4493,
   "fragment_to": 4578,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/vitoria-guimaraes-vs-porto-prediction-08-11-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "745dca98f49ed86080248e8f4d4e160369b5f0cbfd4b59dae599c005347f59a9",
    "material_removed": false
   },
   "published_at": "2026-11-07T02:36:45.000Z",
   "detected_at": "2026-11-07T02:47:45.349Z",
   "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-07T02:36:45.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-07T02:36:45.000Z",
    "detected_at": "2026-11-07T02:47:45.349Z",
    "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-ebd07ceb3d8b2f0ff6547552",
   "url": "/evidence/?pick=n-ebd07ceb3d8b2f0ff6547552",
   "quote_text": "Whispers’ prediction: Vitoria Guimaraes 0-2 Porto",
   "fragment_from": 4280,
   "fragment_to": 4329,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/vitoria-guimaraes-vs-porto-prediction-08-11-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "745dca98f49ed86080248e8f4d4e160369b5f0cbfd4b59dae599c005347f59a9",
    "material_removed": false
   },
   "published_at": "2026-11-07T02:36:45.000Z",
   "detected_at": "2026-11-07T02:47:45.349Z",
   "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-07T02:36:45.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-07T02:36:45.000Z",
    "detected_at": "2026-11-07T02:47:45.349Z",
    "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-9ae78339785129955a1f5536",
   "url": "/authors/joshua-ojele/picks/7/#pick-n-9ae78339785129955a1f5536",
   "quote_text": "correct score market has a correct score of 0-2 at 13/2 (7.50)",
   "fragment_from": 4808,
   "fragment_to": 4870,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/vitoria-guimaraes-vs-porto-prediction-08-11-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "745dca98f49ed86080248e8f4d4e160369b5f0cbfd4b59dae599c005347f59a9",
    "material_removed": false
   },
   "published_at": "2026-11-07T02:36:45.000Z",
   "detected_at": "2026-11-07T02:47:45.349Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "ambiguous",
   "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-07T02:36:45.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-07T02:36:45.000Z",
    "detected_at": "2026-11-07T02:47:45.349Z",
    "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-81fba72ec114fe5d8d21292c",
   "url": "/authors/joshua-ojele/picks/7/#pick-n-81fba72ec114fe5d8d21292c",
   "quote_text": "HT/FT – 2/2 is priced at 7/5 (2.40), which is the high-value option for us",
   "fragment_from": 4722,
   "fragment_to": 4796,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/vitoria-guimaraes-vs-porto-prediction-08-11-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "745dca98f49ed86080248e8f4d4e160369b5f0cbfd4b59dae599c005347f59a9",
    "material_removed": false
   },
   "published_at": "2026-11-07T02:36:45.000Z",
   "detected_at": "2026-11-07T02:47:45.349Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "ambiguous",
   "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-07T02:36:45.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-07T02:36:45.000Z",
    "detected_at": "2026-11-07T02:47:45.349Z",
    "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-7cffaff5dcaa61cd5181b96a",
   "url": "/authors/joshua-ojele/picks/7/#pick-n-7cffaff5dcaa61cd5181b96a",
   "quote_text": "under 2.5 goals at 19/20 (1.95) is another tempting option",
   "fragment_from": 4661,
   "fragment_to": 4719,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/vitoria-guimaraes-vs-porto-prediction-08-11-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "745dca98f49ed86080248e8f4d4e160369b5f0cbfd4b59dae599c005347f59a9",
    "material_removed": false
   },
   "published_at": "2026-11-07T02:36:45.000Z",
   "detected_at": "2026-11-07T02:47:45.349Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "ambiguous",
   "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-07T02:36:45.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-07T02:36:45.000Z",
    "detected_at": "2026-11-07T02:47:45.349Z",
    "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-5c35666ced7e9ad804bce313",
   "url": "/authors/joshua-ojele/picks/7/#pick-n-5c35666ced7e9ad804bce313",
   "quote_text": "we predict BTTS – No at 4/5 (1.80)",
   "fragment_from": 4456,
   "fragment_to": 4490,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/vitoria-guimaraes-vs-porto-prediction-08-11-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "745dca98f49ed86080248e8f4d4e160369b5f0cbfd4b59dae599c005347f59a9",
    "material_removed": false
   },
   "published_at": "2026-11-07T02:36:45.000Z",
   "detected_at": "2026-11-07T02:47:45.349Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "ambiguous",
   "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-07T02:36:45.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-07T02:36:45.000Z",
    "detected_at": "2026-11-07T02:47:45.349Z",
    "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-319014742bc43c36c69e7f85",
   "url": "/evidence/?pick=n-319014742bc43c36c69e7f85",
   "quote_text": "Benfica will be backing themselves to keep their hot streak alive this weekend",
   "fragment_from": 3989,
   "fragment_to": 4067,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/estrela-amadora-vs-benfica-prediction-08-11-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "9c506a292c0f7dc7642a94280d96d943a90b9b76d00a60bc40822eb120f7f51c",
    "material_removed": false
   },
   "published_at": "2026-11-07T01:24:44.000Z",
   "detected_at": "2026-11-07T01:34:28.117Z",
   "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-07T01:24:44.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-07T01:24:44.000Z",
    "detected_at": "2026-11-07T01:34:28.117Z",
    "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-3f7b56c5cf8e264b5923bebc",
   "url": "/authors/joshua-ojele/picks/7/#pick-n-3f7b56c5cf8e264b5923bebc",
   "quote_text": "Over 2.5 goals at 11/25 (1.44)",
   "fragment_from": 5319,
   "fragment_to": 5349,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/estrela-amadora-vs-benfica-prediction-08-11-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "9c506a292c0f7dc7642a94280d96d943a90b9b76d00a60bc40822eb120f7f51c",
    "material_removed": false
   },
   "published_at": "2026-11-07T01:24:44.000Z",
   "detected_at": "2026-11-07T01:34:28.117Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "ambiguous",
   "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-07T01:24:44.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-07T01:24:44.000Z",
    "detected_at": "2026-11-07T01:34:28.117Z",
    "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-e69b62a0b76ce87843ae3179",
   "url": "/authors/joshua-ojele/picks/7/#pick-n-e69b62a0b76ce87843ae3179",
   "quote_text": "Benfica to win + BTTS – No at 6/5 (2.20)",
   "fragment_from": 5062,
   "fragment_to": 5102,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/estrela-amadora-vs-benfica-prediction-08-11-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "9c506a292c0f7dc7642a94280d96d943a90b9b76d00a60bc40822eb120f7f51c",
    "material_removed": false
   },
   "published_at": "2026-11-07T01:24:44.000Z",
   "detected_at": "2026-11-07T01:34:28.117Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "ambiguous",
   "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-07T01:24:44.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-07T01:24:44.000Z",
    "detected_at": "2026-11-07T01:34:28.117Z",
    "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-faa41e221b292c569ecc22a8",
   "url": "/authors/joshua-ojele/picks/7/#pick-n-faa41e221b292c569ecc22a8",
   "quote_text": "Correct score: 0-3 at 15/2 (8.50)",
   "fragment_from": 5376,
   "fragment_to": 5409,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/estrela-amadora-vs-benfica-prediction-08-11-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "9c506a292c0f7dc7642a94280d96d943a90b9b76d00a60bc40822eb120f7f51c",
    "material_removed": false
   },
   "published_at": "2026-11-07T01:24:44.000Z",
   "detected_at": "2026-11-07T01:34:28.117Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "ambiguous",
   "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-07T01:24:44.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-07T01:24:44.000Z",
    "detected_at": "2026-11-07T01:34:28.117Z",
    "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-4e9cd830d9bc055bca0c4e61",
   "url": "/authors/joshua-ojele/picks/7/#pick-n-4e9cd830d9bc055bca0c4e61",
   "quote_text": "HT/FT - 2/2",
   "fragment_from": 222,
   "fragment_to": 233,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/estrela-amadora-vs-benfica-prediction-08-11-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "9c506a292c0f7dc7642a94280d96d943a90b9b76d00a60bc40822eb120f7f51c",
    "material_removed": false
   },
   "published_at": "2026-11-07T01:24:44.000Z",
   "detected_at": "2026-11-07T01:34:28.117Z",
   "executed_at": null,
   "statement_class": "unpriced",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "ambiguous",
   "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-07T01:24:44.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-07T01:24:44.000Z",
    "detected_at": "2026-11-07T01:34:28.117Z",
    "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-6703482ec4895e9ece9be2f0",
   "url": "/authors/joshua-ojele/picks/7/#pick-n-6703482ec4895e9ece9be2f0",
   "quote_text": "making Monaco to win + BTTS – Yes at 8/5 (2.60) the value bet for us.",
   "fragment_from": 4740,
   "fragment_to": 4809,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/monaco-vs-nordsjaelland-prediction-05-11-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "fc236f33fd79c070dfd6240c566cc5ce06fc67c3f81a90645099fa5537aafefd",
    "material_removed": false
   },
   "published_at": "2026-11-04T05:57:29.000Z",
   "detected_at": "2026-11-04T06:04:17.426Z",
   "executed_at": "2026-11-04T06:11:36.064Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-045835f2ee6d",
    "display_name": "Monaco — Nordsjælland",
    "competition_name": "UEFA Conference League",
    "starts_at": "2026-11-05T20:00:00.000Z",
    "url": "/football/matches/monaco-vs-nordsjaelland-2026-11-05/",
    "scoreline": "2-0",
    "condition": "finished"
   },
   "market_label": "Match result and both teams to score",
   "outcome_label": "Monaco win, both teams to score: yes",
   "odds_set": {
    "by_author": "2.6",
    "our_snapshot": "2.5500",
    "our_snapshot_at": "2026-11-04T06:04:06.287Z",
    "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-04T05:57:29.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-04T05:57:29.000Z",
    "detected_at": "2026-11-04T06:04:17.426Z",
    "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": "Monaco win, both teams to score: yes",
    "author_odds": "2.6",
    "market_key": "both_teams_score_and_result",
    "choice_key": "1-yes",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Match result and both teams to score: Monaco win, both teams to score: yes at 2.6"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "2-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was Monaco 2-0 Nordsjælland."
   },
   "settlements": [
    {
     "operation_id": "fae9b30a2fa612f40378114ca293a734673ed3dcb758723a06dc4b46699821ef",
     "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 both teams to score",
     "choice": "Monaco win, both teams to score: yes",
     "decimal_odds": "2.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-04T06:11:34.444Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "d930925b45f1d30bcf0ddf99c6ebf5113e5c44d3d68d994826bf5d2ea0c321c6",
     "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": "Monaco win, both teams to score: yes",
     "decimal_odds": "2.5500",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-04T06:11:36.064Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Joshua Ojele",
    "publisher": "Football Whispers",
    "forecaster": "Joshua Ojele",
    "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/monaco-vs-nordsjaelland-prediction-05-11-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-7c07f26d1b92a33222a51219",
   "url": "/evidence/?pick=n-7c07f26d1b92a33222a51219",
   "quote_text": "Les Rouge et Blanc suffered a 3-1 defeat against Paris FC at the Stade Jean Bouin on Sunday",
   "fragment_from": 2248,
   "fragment_to": 2339,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/monaco-vs-nordsjaelland-prediction-05-11-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "fc236f33fd79c070dfd6240c566cc5ce06fc67c3f81a90645099fa5537aafefd",
    "material_removed": false
   },
   "published_at": "2026-11-04T05:57:29.000Z",
   "detected_at": "2026-11-04T06:04:17.426Z",
   "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-04T05:57:29.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-04T05:57:29.000Z",
    "detected_at": "2026-11-04T06:04:17.426Z",
    "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-5cea577b5730682ff9765680",
   "url": "/evidence/?pick=n-5cea577b5730682ff9765680",
   "quote_text": "Having thrashed Gornik Zabrze 7-3 in the Conference League qualification playoff, Monaco have",
   "fragment_from": 1550,
   "fragment_to": 1643,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/monaco-vs-nordsjaelland-prediction-05-11-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "fc236f33fd79c070dfd6240c566cc5ce06fc67c3f81a90645099fa5537aafefd",
    "material_removed": false
   },
   "published_at": "2026-11-04T05:57:29.000Z",
   "detected_at": "2026-11-04T06:04:17.426Z",
   "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-04T05:57:29.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-04T05:57:29.000Z",
    "detected_at": "2026-11-04T06:04:17.426Z",
    "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-4831a73434808ebd760777b6",
   "url": "/evidence/?pick=n-4831a73434808ebd760777b6",
   "quote_text": "At 21/50 (1.42), Monaco are favourites to claim all three points, and given their start to the",
   "fragment_from": 4386,
   "fragment_to": 4480,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/monaco-vs-nordsjaelland-prediction-05-11-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "fc236f33fd79c070dfd6240c566cc5ce06fc67c3f81a90645099fa5537aafefd",
    "material_removed": false
   },
   "published_at": "2026-11-04T05:57:29.000Z",
   "detected_at": "2026-11-04T06:04:17.426Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "ambiguous",
   "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-04T05:57:29.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-04T05:57:29.000Z",
    "detected_at": "2026-11-04T06:04:17.426Z",
    "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-4b564125f43d8116554eac24",
   "url": "/authors/joshua-ojele/picks/6/#pick-n-4b564125f43d8116554eac24",
   "quote_text": "correct score market has a correct score of 3-1 at 10/1 (11.00)",
   "fragment_from": 4870,
   "fragment_to": 4933,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/monaco-vs-nordsjaelland-prediction-05-11-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "fc236f33fd79c070dfd6240c566cc5ce06fc67c3f81a90645099fa5537aafefd",
    "material_removed": false
   },
   "published_at": "2026-11-04T05:57:29.000Z",
   "detected_at": "2026-11-04T06:04:17.426Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "ambiguous",
   "event": {
    "event_id": "s-045835f2ee6d",
    "display_name": "Monaco — Nordsjælland",
    "competition_name": "UEFA Conference League",
    "starts_at": "2026-11-05T20:00:00.000Z",
    "url": "/football/matches/monaco-vs-nordsjaelland-2026-11-05/",
    "scoreline": "2-0",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Monaco 3-1 Nordsjælland",
   "odds_set": {
    "by_author": "11",
    "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-04T05:57:29.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-04T05:57:29.000Z",
    "detected_at": "2026-11-04T06:04:17.426Z",
    "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 3-1 Nordsjælland",
    "author_odds": "11",
    "market_key": "correct_score_market",
    "choice_key": "3-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Monaco 3-1 Nordsjælland at 11"
   },
   "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 Monaco 2-0 Nordsjælland."
   },
   "settlements": [
    {
     "operation_id": "af74425f31b421d821543070a2c6f8468fdb8faf79b2c5bb0be7b0f6622f558c",
     "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": "Monaco",
     "decimal_odds": null,
     "odds_role": null,
     "stake_hundredths": null,
     "status": "skipped",
     "status_text": "Not executed: ",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": null,
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Joshua Ojele",
    "publisher": "Football Whispers",
    "forecaster": "Joshua Ojele",
    "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/monaco-vs-nordsjaelland-prediction-05-11-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-a812062b314ed160be55050a",
   "url": "/authors/joshua-ojele/picks/7/#pick-n-a812062b314ed160be55050a",
   "quote_text": "HT/FT – 1/1 is currently priced at 21/20 (2.05)",
   "fragment_from": 4811,
   "fragment_to": 4858,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/monaco-vs-nordsjaelland-prediction-05-11-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "fc236f33fd79c070dfd6240c566cc5ce06fc67c3f81a90645099fa5537aafefd",
    "material_removed": false
   },
   "published_at": "2026-11-04T05:57:29.000Z",
   "detected_at": "2026-11-04T06:04:17.426Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "not_checked",
   "event": {
    "event_id": "s-045835f2ee6d",
    "display_name": "Monaco — Nordsjælland",
    "competition_name": "UEFA Conference League",
    "starts_at": "2026-11-05T20:00:00.000Z",
    "url": "/football/matches/monaco-vs-nordsjaelland-2026-11-05/",
    "scoreline": "2-0",
    "condition": "finished"
   },
   "market_label": "Half-time/full-time",
   "outcome_label": "Monaco at half-time, Monaco at full-time",
   "odds_set": {
    "by_author": "2.05",
    "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-04T05:57:29.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-04T05:57:29.000Z",
    "detected_at": "2026-11-04T06:04:17.426Z",
    "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": "Half-time/full-time",
    "choice": "Monaco at half-time, Monaco at full-time",
    "author_odds": "2.05",
    "market_key": "half_time_full_time",
    "choice_key": "1/1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Half-time/full-time: Monaco at half-time, Monaco at full-time at 2.05"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "2-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won: the final score was Monaco 2-0 Nordsjælland."
   },
   "settlements": [
    {
     "operation_id": "a7a872deb04e3c1d6dab8ea4b378810e839929f18e331a4568049cf8b8174573",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Half-time/full-time",
     "choice": "Monaco at half-time, Monaco at full-time",
     "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": "426186411635d56c496ea0194eb1bebe9ca5ea4e30a7b35914df5e54d062b33c",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Half-time/full-time",
     "choice": "Monaco at half-time, Monaco at full-time",
     "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 Ojele",
    "publisher": "Football Whispers",
    "forecaster": "Joshua Ojele",
    "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/monaco-vs-nordsjaelland-prediction-05-11-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-8e6dfb3141894245eca1f82e",
   "url": "/authors/joshua-ojele/picks/7/#pick-n-8e6dfb3141894245eca1f82e",
   "quote_text": "we predict BTTS – Yes at 57/100 (1.57)",
   "fragment_from": 4700,
   "fragment_to": 4738,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/monaco-vs-nordsjaelland-prediction-05-11-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "fc236f33fd79c070dfd6240c566cc5ce06fc67c3f81a90645099fa5537aafefd",
    "material_removed": false
   },
   "published_at": "2026-11-04T05:57:29.000Z",
   "detected_at": "2026-11-04T06:04:17.426Z",
   "executed_at": "2026-11-07T09:28:34.527Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-045835f2ee6d",
    "display_name": "Monaco — Nordsjælland",
    "competition_name": "UEFA Conference League",
    "starts_at": "2026-11-05T20:00:00.000Z",
    "url": "/football/matches/monaco-vs-nordsjaelland-2026-11-05/",
    "scoreline": "2-0",
    "condition": "finished"
   },
   "market_label": "Both teams to score",
   "outcome_label": "yes",
   "odds_set": {
    "by_author": "1.57",
    "our_snapshot": "1.5700",
    "our_snapshot_at": "2026-11-04T06:04:06.287Z",
    "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-04T05:57:29.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-04T05:57:29.000Z",
    "detected_at": "2026-11-04T06:04:17.426Z",
    "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": "loss",
    "scoreline": "2-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was Monaco 2-0 Nordsjælland."
   },
   "settlements": [
    {
     "operation_id": "68886e362a513362ae673a712f6e52e72fa121002eac004c4313344a70111225",
     "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": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-07T09:28:33.930Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "c009ec71a0d1ccd1962987acedb3fc365de0b8e98e7ddbb0a0cbd6a21ad71651",
     "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.5700",
     "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:28:34.527Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Joshua Ojele",
    "publisher": "Football Whispers",
    "forecaster": "Joshua Ojele",
    "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/monaco-vs-nordsjaelland-prediction-05-11-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-eb0fe5049a06cb6cc5f1518c",
   "url": "/evidence/?pick=n-eb0fe5049a06cb6cc5f1518c",
   "quote_text": "Fortuna Sittard booked their spot in the second round of the KNVB Cup in midweek",
   "fragment_from": 2788,
   "fragment_to": 2868,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/feyenoord-vs-fortuna-sittard-prediction-31-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "f6b32a778dc5ee8f0467c84734a2373dfd45fcb203e7028f328d5c619637b81b",
    "material_removed": false
   },
   "published_at": "2026-10-30T06:24:49.000Z",
   "detected_at": "2026-10-30T06:34:20.165Z",
   "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-30T06:24:49.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T06:24:49.000Z",
    "detected_at": "2026-10-30T06:34:20.165Z",
    "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-29aeaf75dc54a4c0f0200545",
   "url": "/evidence/?pick=n-29aeaf75dc54a4c0f0200545",
   "quote_text": "Van Bronckhorst’s side suffering back-to-back away defeats against Barcelona and Real Betis",
   "fragment_from": 2321,
   "fragment_to": 2412,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/feyenoord-vs-fortuna-sittard-prediction-31-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "f6b32a778dc5ee8f0467c84734a2373dfd45fcb203e7028f328d5c619637b81b",
    "material_removed": false
   },
   "published_at": "2026-10-30T06:24:49.000Z",
   "detected_at": "2026-10-30T06:34:20.165Z",
   "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-30T06:24:49.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T06:24:49.000Z",
    "detected_at": "2026-10-30T06:34:20.165Z",
    "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-1c958fc8467bb8f1d1d2cd19",
   "url": "/evidence/?pick=n-1c958fc8467bb8f1d1d2cd19",
   "quote_text": "Feyenoord remain the only side yet to suffer defeat in the Eredivisie this season",
   "fragment_from": 2006,
   "fragment_to": 2087,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/feyenoord-vs-fortuna-sittard-prediction-31-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "f6b32a778dc5ee8f0467c84734a2373dfd45fcb203e7028f328d5c619637b81b",
    "material_removed": false
   },
   "published_at": "2026-10-30T06:24:49.000Z",
   "detected_at": "2026-10-30T06:34:20.165Z",
   "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-30T06:24:49.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T06:24:49.000Z",
    "detected_at": "2026-10-30T06:34:20.165Z",
    "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-623f061882a54f5c1267f2f1",
   "url": "/evidence/?pick=n-623f061882a54f5c1267f2f1",
   "quote_text": "Fortuna Sittard are unbeaten in their seven away matches across all competitions this season",
   "fragment_from": 1002,
   "fragment_to": 1094,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/feyenoord-vs-fortuna-sittard-prediction-31-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "f6b32a778dc5ee8f0467c84734a2373dfd45fcb203e7028f328d5c619637b81b",
    "material_removed": false
   },
   "published_at": "2026-10-30T06:24:49.000Z",
   "detected_at": "2026-10-30T06:34:20.165Z",
   "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-30T06:24:49.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T06:24:49.000Z",
    "detected_at": "2026-10-30T06:34:20.165Z",
    "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-a321291689a40a5b9574866b",
   "url": "/evidence/?pick=n-a321291689a40a5b9574866b",
   "quote_text": "Feyenoord are unbeaten in their last eight home games against Fortuna, picking up five wins",
   "fragment_from": 858,
   "fragment_to": 949,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/feyenoord-vs-fortuna-sittard-prediction-31-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "f6b32a778dc5ee8f0467c84734a2373dfd45fcb203e7028f328d5c619637b81b",
    "material_removed": false
   },
   "published_at": "2026-10-30T06:24:49.000Z",
   "detected_at": "2026-10-30T06:34:20.165Z",
   "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-30T06:24:49.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T06:24:49.000Z",
    "detected_at": "2026-10-30T06:34:20.165Z",
    "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-51ff381c2ad9d3a622a1dd5b",
   "url": "/authors/joshua-ojele/picks/6/#pick-n-51ff381c2ad9d3a622a1dd5b",
   "quote_text": "we fancy over 2.5 goals at 7/25 (1.28)",
   "fragment_from": 5098,
   "fragment_to": 5136,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/feyenoord-vs-fortuna-sittard-prediction-31-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "f6b32a778dc5ee8f0467c84734a2373dfd45fcb203e7028f328d5c619637b81b",
    "material_removed": false
   },
   "published_at": "2026-10-30T06:24:49.000Z",
   "detected_at": "2026-10-30T06:34:20.165Z",
   "executed_at": "2026-11-07T10:18:56.954Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-80bafc0dea3b",
    "display_name": "Feyenoord — Fortuna Sittard",
    "competition_name": "Eredivisie",
    "starts_at": "2026-10-31T15:30:00.000Z",
    "url": "/football/matches/feyenoord-vs-fortuna-sittard-2026-10-31/",
    "scoreline": "1-1",
    "condition": "finished"
   },
   "market_label": "Over/Under 2.5 goals",
   "outcome_label": "over 2.5",
   "odds_set": {
    "by_author": "1.28",
    "our_snapshot": "1.2500",
    "our_snapshot_at": "2026-10-30T06:33:46.896Z",
    "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-30T06:24:49.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T06:24:49.000Z",
    "detected_at": "2026-10-30T06:34:20.165Z",
    "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.28",
    "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.28"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "1-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was Feyenoord 1-1 Fortuna Sittard."
   },
   "settlements": [
    {
     "operation_id": "93777853d023b6387bb6963501184b81f3240166d112889a9e38edc822070036",
     "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.28",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-07T10:18:53.590Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "57ed6c448f2739bf6af51059ecda7e2315234c6636b58fa0a9c100c1d64cc757",
     "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.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-07T10:18:56.954Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Joshua Ojele",
    "publisher": "Football Whispers",
    "forecaster": "Joshua Ojele",
    "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/feyenoord-vs-fortuna-sittard-prediction-31-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-4560fe188d5721bec7405efd",
   "url": "/authors/joshua-ojele/picks/6/#pick-n-4560fe188d5721bec7405efd",
   "quote_text": "we predict BTTS – Yes at 4/5 (1.80)",
   "fragment_from": 4878,
   "fragment_to": 4913,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/feyenoord-vs-fortuna-sittard-prediction-31-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "f6b32a778dc5ee8f0467c84734a2373dfd45fcb203e7028f328d5c619637b81b",
    "material_removed": false
   },
   "published_at": "2026-10-30T06:24:49.000Z",
   "detected_at": "2026-10-30T06:34:20.165Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "not_checked",
   "event": {
    "event_id": "s-80bafc0dea3b",
    "display_name": "Feyenoord — Fortuna Sittard",
    "competition_name": "Eredivisie",
    "starts_at": "2026-10-31T15:30:00.000Z",
    "url": "/football/matches/feyenoord-vs-fortuna-sittard-2026-10-31/",
    "scoreline": "1-1",
    "condition": "finished"
   },
   "market_label": "Both teams to score",
   "outcome_label": "yes",
   "odds_set": {
    "by_author": "1.8",
    "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-30T06:24:49.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T06:24:49.000Z",
    "detected_at": "2026-10-30T06:34:20.165Z",
    "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.8",
    "market_key": "both_teams_score",
    "choice_key": "yes",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Both teams to score: yes at 1.8"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "1-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won: the final score was Feyenoord 1-1 Fortuna Sittard."
   },
   "settlements": [
    {
     "operation_id": "6f08200e13f67fb1ed7656d919fba7481834d6db1550d10ee05bb1c4fb650e90",
     "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": "101bf0e0ac954f8ce4b2b6c4af65cf6b180f22954bf332aa7d476b98136a2fd7",
     "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 Ojele",
    "publisher": "Football Whispers",
    "forecaster": "Joshua Ojele",
    "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/feyenoord-vs-fortuna-sittard-prediction-31-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-a4fc0055c28cabe09ea9ece9",
   "url": "/authors/joshua-ojele/picks/6/#pick-n-a4fc0055c28cabe09ea9ece9",
   "quote_text": "we predict the hosts will extend their dominance in this fixture with another victory, which is currently priced at 4/25 (1.16) by the bookmakers.",
   "fragment_from": 4656,
   "fragment_to": 4802,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/feyenoord-vs-fortuna-sittard-prediction-31-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "f6b32a778dc5ee8f0467c84734a2373dfd45fcb203e7028f328d5c619637b81b",
    "material_removed": false
   },
   "published_at": "2026-10-30T06:24:49.000Z",
   "detected_at": "2026-10-30T06:34:20.165Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "not_checked",
   "event": {
    "event_id": "s-80bafc0dea3b",
    "display_name": "Feyenoord — Fortuna Sittard",
    "competition_name": "Eredivisie",
    "starts_at": "2026-10-31T15:30:00.000Z",
    "url": "/football/matches/feyenoord-vs-fortuna-sittard-2026-10-31/",
    "scoreline": "1-1",
    "condition": "finished"
   },
   "market_label": "1X2, match result",
   "outcome_label": "Feyenoord",
   "odds_set": {
    "by_author": "1.16",
    "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-30T06:24:49.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T06:24:49.000Z",
    "detected_at": "2026-10-30T06:34:20.165Z",
    "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": "Feyenoord",
    "author_odds": "1.16",
    "market_key": "1x2",
    "choice_key": "1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: Feyenoord at 1.16"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "1-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was Feyenoord 1-1 Fortuna Sittard."
   },
   "settlements": [
    {
     "operation_id": "bd442673a0d69121e463ae6f33cfa5a92841710f8d59c92bd2a03acf4bf28985",
     "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": "Feyenoord",
     "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": "0afa26307bcf564b79ca8e37ff425890fac7a01efb5ddab933d41b9bb9540fce",
     "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": "Feyenoord",
     "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 Ojele",
    "publisher": "Football Whispers",
    "forecaster": "Joshua Ojele",
    "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/feyenoord-vs-fortuna-sittard-prediction-31-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-7274a97ec0f86e32b86bc00d",
   "url": "/authors/joshua-ojele/picks/6/#pick-n-7274a97ec0f86e32b86bc00d",
   "quote_text": "the correct score market has a correct score of 3-1 at 9/1 (10.00).",
   "fragment_from": 5144,
   "fragment_to": 5211,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/feyenoord-vs-fortuna-sittard-prediction-31-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "f6b32a778dc5ee8f0467c84734a2373dfd45fcb203e7028f328d5c619637b81b",
    "material_removed": false
   },
   "published_at": "2026-10-30T06:24:49.000Z",
   "detected_at": "2026-10-30T06:34:20.165Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "not_checked",
   "event": {
    "event_id": "s-80bafc0dea3b",
    "display_name": "Feyenoord — Fortuna Sittard",
    "competition_name": "Eredivisie",
    "starts_at": "2026-10-31T15:30:00.000Z",
    "url": "/football/matches/feyenoord-vs-fortuna-sittard-2026-10-31/",
    "scoreline": "1-1",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Feyenoord 3-1 Fortuna Sittard",
   "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-30T06:24:49.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T06:24:49.000Z",
    "detected_at": "2026-10-30T06:34:20.165Z",
    "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": "Feyenoord 3-1 Fortuna Sittard",
    "author_odds": "10",
    "market_key": "correct_score_market",
    "choice_key": "3-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Feyenoord 3-1 Fortuna Sittard at 10"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "1-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Feyenoord 1-1 Fortuna Sittard."
   },
   "settlements": [
    {
     "operation_id": "c1521f6b187c4b5c9d93f9a5bd53def61d954ea572c0928a95a3359c7d560e76",
     "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": "Feyenoord 3-1 Fortuna Sittard",
     "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": "bf0121b73d6d81359b4f9eae059ba9bb8dd0e872a6d759e8a96a922b5fc5ece8",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Correct score",
     "choice": "Feyenoord 3-1 Fortuna Sittard",
     "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 Ojele",
    "publisher": "Football Whispers",
    "forecaster": "Joshua Ojele",
    "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/feyenoord-vs-fortuna-sittard-prediction-31-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-87c2b383e2a9b4d270d8e961",
   "url": "/authors/joshua-ojele/picks/6/#pick-n-87c2b383e2a9b4d270d8e961",
   "quote_text": "making Feyenoord to win + BTTS – Yes at 13/10 (2.30) the low-risk value option for us.",
   "fragment_from": 4915,
   "fragment_to": 5001,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/feyenoord-vs-fortuna-sittard-prediction-31-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "f6b32a778dc5ee8f0467c84734a2373dfd45fcb203e7028f328d5c619637b81b",
    "material_removed": false
   },
   "published_at": "2026-10-30T06:24:49.000Z",
   "detected_at": "2026-10-30T06:34:20.165Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "not_checked",
   "event": {
    "event_id": "s-80bafc0dea3b",
    "display_name": "Feyenoord — Fortuna Sittard",
    "competition_name": "Eredivisie",
    "starts_at": "2026-10-31T15:30:00.000Z",
    "url": "/football/matches/feyenoord-vs-fortuna-sittard-2026-10-31/",
    "scoreline": "1-1",
    "condition": "finished"
   },
   "market_label": "Match result and both teams to score",
   "outcome_label": "Feyenoord win, both teams to score: yes",
   "odds_set": {
    "by_author": "2.3",
    "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-30T06:24:49.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T06:24:49.000Z",
    "detected_at": "2026-10-30T06:34:20.165Z",
    "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": "Feyenoord win, both teams to score: yes",
    "author_odds": "2.3",
    "market_key": "both_teams_score_and_result",
    "choice_key": "1-yes",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Match result and both teams to score: Feyenoord win, both teams to score: yes at 2.3"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "1-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was Feyenoord 1-1 Fortuna Sittard."
   },
   "settlements": [
    {
     "operation_id": "c4f68d52c746e73b3201fa95bf257676c5c78766000d3a595ea37cb84384fd38",
     "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 both teams to score",
     "choice": "Feyenoord win, 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
    },
    {
     "operation_id": "8fa4f172129ec8767912456ee1ab9e8a598d9b38fc3287c242a6c7d80b4ee67b",
     "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": "Feyenoord win, 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 Ojele",
    "publisher": "Football Whispers",
    "forecaster": "Joshua Ojele",
    "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/feyenoord-vs-fortuna-sittard-prediction-31-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-d42adcd0bea36ffb0c2e223b",
   "url": "/evidence/?pick=n-d42adcd0bea36ffb0c2e223b",
   "quote_text": "Willem II currently hold the worst defensive record in the Eredivisie, having shipped 32 goals",
   "fragment_from": 958,
   "fragment_to": 1052,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/psv-eindhoven-vs-willem-ii-prediction-31-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "3216a611fdf89892a86e3b08aa0aafc8db4a3f447df5639b57565ea41c960632",
    "material_removed": false
   },
   "published_at": "2026-10-30T05:26:40.000Z",
   "detected_at": "2026-10-30T05:34:20.932Z",
   "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-30T05:26:40.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T05:26:40.000Z",
    "detected_at": "2026-10-30T05:34:20.932Z",
    "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-e741e80f8b158ce5c874492c",
   "url": "/evidence/?pick=n-e741e80f8b158ce5c874492c",
   "quote_text": "PSV Eindhoven are unbeaten in their last eight Eredivisie home games",
   "fragment_from": 802,
   "fragment_to": 870,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/psv-eindhoven-vs-willem-ii-prediction-31-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "3216a611fdf89892a86e3b08aa0aafc8db4a3f447df5639b57565ea41c960632",
    "material_removed": false
   },
   "published_at": "2026-10-30T05:26:40.000Z",
   "detected_at": "2026-10-30T05:34:20.932Z",
   "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-30T05:26:40.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T05:26:40.000Z",
    "detected_at": "2026-10-30T05:34:20.932Z",
    "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-97cd045ca1305c61fe5264f7",
   "url": "/authors/joshua-ojele/picks/6/#pick-n-97cd045ca1305c61fe5264f7",
   "quote_text": "Whispers’ prediction: PSV Eindhoven 4-1 Willem II",
   "fragment_from": 4473,
   "fragment_to": 4522,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/psv-eindhoven-vs-willem-ii-prediction-31-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "3216a611fdf89892a86e3b08aa0aafc8db4a3f447df5639b57565ea41c960632",
    "material_removed": false
   },
   "published_at": "2026-10-30T05:26:40.000Z",
   "detected_at": "2026-10-30T05:34:20.932Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "not_checked",
   "event": {
    "event_id": "s-065425be6294",
    "display_name": "PSV Eindhoven — Willem II Tilburg",
    "competition_name": "Eredivisie",
    "starts_at": "2026-10-31T17:45:00.000Z",
    "url": "/football/matches/psv-eindhoven-vs-willem-ii-tilburg-2026-10-31/",
    "scoreline": "7-0",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "PSV Eindhoven 4-1 Willem II Tilburg",
   "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-30T05:26:40.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T05:26:40.000Z",
    "detected_at": "2026-10-30T05:34:20.932Z",
    "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": "PSV Eindhoven 4-1 Willem II Tilburg",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "4-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: PSV Eindhoven 4-1 Willem II Tilburg"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "7-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was PSV Eindhoven 7-0 Willem II Tilburg."
   },
   "settlements": [
    {
     "operation_id": "2a25ebcf8f512e114b5fb2dcaef44c11ecb567e67cc6bcb8744a64e46821cd14",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Correct score",
     "choice": "PSV Eindhoven 4-1 Willem II Tilburg",
     "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": "c5e53bdb116896e64ebe6ebc4eff4813cd15f75943894e871bb3806d22735957",
     "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": "PSV Eindhoven",
     "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 Ojele",
    "publisher": "Football Whispers",
    "forecaster": "Joshua Ojele",
    "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/psv-eindhoven-vs-willem-ii-prediction-31-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-a2e1afcea5d922319e85e8e2",
   "url": "/authors/joshua-ojele/picks/6/#pick-n-a2e1afcea5d922319e85e8e2",
   "quote_text": "Gus Til has netted six league goals this season, and the 28-year-old is currently priced to score at 1/2 (1.50)",
   "fragment_from": 5086,
   "fragment_to": 5197,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/psv-eindhoven-vs-willem-ii-prediction-31-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "3216a611fdf89892a86e3b08aa0aafc8db4a3f447df5639b57565ea41c960632",
    "material_removed": false
   },
   "published_at": "2026-10-30T05:26:40.000Z",
   "detected_at": "2026-10-30T05:34:20.932Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "not_checked",
   "event": {
    "event_id": "s-065425be6294",
    "display_name": "PSV Eindhoven — Willem II Tilburg",
    "competition_name": "Eredivisie",
    "starts_at": "2026-10-31T17:45:00.000Z",
    "url": "/football/matches/psv-eindhoven-vs-willem-ii-tilburg-2026-10-31/",
    "scoreline": "7-0",
    "condition": "finished"
   },
   "market_label": "Player to score",
   "outcome_label": "Guus Til to score",
   "odds_set": {
    "by_author": "1.5",
    "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-30T05:26:40.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T05:26:40.000Z",
    "detected_at": "2026-10-30T05:34:20.932Z",
    "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": "Player to score",
    "choice": "Guus Til to score",
    "author_odds": "1.5",
    "market_key": "player_to_score",
    "choice_key": "yes",
    "period": "match",
    "line": null,
    "subject": "player_goals",
    "in_words": "Player to score: Guus Til to score at 1.5"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "7-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won — Guus Til scored 1 goal; the final score was PSV Eindhoven 7-0 Willem II Tilburg."
   },
   "settlements": [
    {
     "operation_id": "b3e3adae5ed4a14351704c78a10ea7975e142c57528623eb176f5e4b41f09c71",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Player to score",
     "choice": "Guus Til to score",
     "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": "0f3e456f62188822cc0163bdccea632a62f1dc21a30b4006bf94822da08a67c2",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Player to score",
     "choice": "Guus Til to score",
     "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 Ojele",
    "publisher": "Football Whispers",
    "forecaster": "Joshua Ojele",
    "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/psv-eindhoven-vs-willem-ii-prediction-31-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-1cff86b863fdc039ab643a82",
   "url": "/authors/joshua-ojele/picks/6/#pick-n-1cff86b863fdc039ab643a82",
   "quote_text": "while with both sides scoring in six of Willem II’s last seven games, PSV to win + BTTS – Yes at 9/10 (1.90) is our value bet.",
   "fragment_from": 4958,
   "fragment_to": 5084,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/psv-eindhoven-vs-willem-ii-prediction-31-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "3216a611fdf89892a86e3b08aa0aafc8db4a3f447df5639b57565ea41c960632",
    "material_removed": false
   },
   "published_at": "2026-10-30T05:26:40.000Z",
   "detected_at": "2026-10-30T05:34:20.932Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "recognised",
   "cause": "",
   "cause_code": "disputed_reading",
   "event": {
    "event_id": "s-065425be6294",
    "display_name": "PSV Eindhoven — Willem II Tilburg",
    "competition_name": "Eredivisie",
    "starts_at": "2026-10-31T17:45:00.000Z",
    "url": "/football/matches/psv-eindhoven-vs-willem-ii-tilburg-2026-10-31/",
    "scoreline": "7-0",
    "condition": "finished"
   },
   "market_label": "Match result and both teams to score",
   "outcome_label": "PSV Eindhoven win, both teams to score: yes",
   "odds_set": {
    "by_author": "1.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-30T05:26:40.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T05:26:40.000Z",
    "detected_at": "2026-10-30T05:34:20.932Z",
    "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": "PSV Eindhoven win, both teams to score: yes",
    "author_odds": "1.9",
    "market_key": "both_teams_score_and_result",
    "choice_key": "1-yes",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Match result and both teams to score: PSV Eindhoven win, both teams to score: yes at 1.9"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "7-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was PSV Eindhoven 7-0 Willem II Tilburg."
   },
   "settlements": [
    {
     "operation_id": "4d0d2e1eb7c881b65de21c8c0e9ebb9f939a203f37563959e1d97986e25b9ad7",
     "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 both teams to score",
     "choice": "PSV Eindhoven win, 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
    },
    {
     "operation_id": "1ceb0e498de10d7c24dddd53134740e78738a02b80c837415fcfc55ffccce539",
     "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": "PSV Eindhoven win, 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 Ojele",
    "publisher": "Football Whispers",
    "forecaster": "Joshua Ojele",
    "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/psv-eindhoven-vs-willem-ii-prediction-31-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-793385db3c45b74a36201892",
   "url": "/authors/joshua-ojele/picks/6/#pick-n-793385db3c45b74a36201892",
   "quote_text": "which is currently priced at 7/100 by the bookies.",
   "fragment_from": 4788,
   "fragment_to": 4838,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/psv-eindhoven-vs-willem-ii-prediction-31-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "3216a611fdf89892a86e3b08aa0aafc8db4a3f447df5639b57565ea41c960632",
    "material_removed": false
   },
   "published_at": "2026-10-30T05:26:40.000Z",
   "detected_at": "2026-10-30T05:34:20.932Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "not_checked",
   "event": {
    "event_id": "s-065425be6294",
    "display_name": "PSV Eindhoven — Willem II Tilburg",
    "competition_name": "Eredivisie",
    "starts_at": "2026-10-31T17:45:00.000Z",
    "url": "/football/matches/psv-eindhoven-vs-willem-ii-tilburg-2026-10-31/",
    "scoreline": "7-0",
    "condition": "finished"
   },
   "market_label": "1X2, match result",
   "outcome_label": "PSV Eindhoven",
   "odds_set": {
    "by_author": "1.07",
    "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-30T05:26:40.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T05:26:40.000Z",
    "detected_at": "2026-10-30T05:34:20.932Z",
    "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": "PSV Eindhoven",
    "author_odds": "1.07",
    "market_key": "1x2",
    "choice_key": "1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: PSV Eindhoven at 1.07"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "7-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won: the final score was PSV Eindhoven 7-0 Willem II Tilburg."
   },
   "settlements": [
    {
     "operation_id": "1bb1d6345ee5061c5801d84d7395a1d1724d39e802cbd1c064065708450bd5a4",
     "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": "PSV Eindhoven",
     "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": "6e390cc504618863025f8c0a4cb4c280b39421d8ff7a6d6f64f030ab7b5ac69a",
     "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": "PSV Eindhoven",
     "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 Ojele",
    "publisher": "Football Whispers",
    "forecaster": "Joshua Ojele",
    "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/psv-eindhoven-vs-willem-ii-prediction-31-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-f826353fd2fd160db30c4e22",
   "url": "/authors/joshua-ojele/picks/6/#pick-n-f826353fd2fd160db30c4e22",
   "quote_text": "HT/FT – 1/1 at 33/100 (1.33) is a favourable punt, with PSV leading at half time in five of their last seven matches",
   "fragment_from": 4840,
   "fragment_to": 4956,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/psv-eindhoven-vs-willem-ii-prediction-31-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "3216a611fdf89892a86e3b08aa0aafc8db4a3f447df5639b57565ea41c960632",
    "material_removed": false
   },
   "published_at": "2026-10-30T05:26:40.000Z",
   "detected_at": "2026-10-30T05:34:20.932Z",
   "executed_at": "2026-11-07T10:19:16.392Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-065425be6294",
    "display_name": "PSV Eindhoven — Willem II Tilburg",
    "competition_name": "Eredivisie",
    "starts_at": "2026-10-31T17:45:00.000Z",
    "url": "/football/matches/psv-eindhoven-vs-willem-ii-tilburg-2026-10-31/",
    "scoreline": "7-0",
    "condition": "finished"
   },
   "market_label": "Half-time/full-time",
   "outcome_label": "PSV Eindhoven at half-time, PSV Eindhoven at full-time",
   "odds_set": {
    "by_author": "1.33",
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 3300,
   "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-30T05:26:40.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-30T05:26:40.000Z",
    "detected_at": "2026-10-30T05:34:20.932Z",
    "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": "Half-time/full-time",
    "choice": "PSV Eindhoven at half-time, PSV Eindhoven at full-time",
    "author_odds": "1.33",
    "market_key": "half_time_full_time",
    "choice_key": "1/1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Half-time/full-time: PSV Eindhoven at half-time, PSV Eindhoven at full-time at 1.33"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "7-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won: the final score was PSV Eindhoven 7-0 Willem II Tilburg."
   },
   "settlements": [
    {
     "operation_id": "32b27eeeee93a8db4ad9a4fa01f8d8a9a6d0f59207cb5a91ee070d7616e678f2",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Half-time/full-time",
     "choice": "PSV Eindhoven at half-time, PSV Eindhoven at full-time",
     "decimal_odds": "1.33",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 3300,
     "executed_at": "2026-11-07T10:19:16.392Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "266ee92966b6133a4d384b32c2603913b5f6a72cfc4fbf9a41b703b4d2cbf608",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Half-time/full-time",
     "choice": "PSV Eindhoven at half-time, PSV Eindhoven at full-time",
     "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 Ojele",
    "publisher": "Football Whispers",
    "forecaster": "Joshua Ojele",
    "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/psv-eindhoven-vs-willem-ii-prediction-31-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-1827fcd780bd1a641da72c6f",
   "url": "/evidence/?pick=n-1827fcd780bd1a641da72c6f",
   "quote_text": "Updated October 29, 2026",
   "fragment_from": 5388,
   "fragment_to": 5412,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/porto-vs-estoril-praia-prediction-31-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "a711977df565147a9d32446a81d31e5e1b81d409c85aa1596093ee5b6a92dd31",
    "material_removed": false
   },
   "published_at": "2026-10-29T21:43:56.000Z",
   "detected_at": "2026-10-29T21:54:17.218Z",
   "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-29T21:43:56.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-29T21:43:56.000Z",
    "detected_at": "2026-10-29T21:54:17.218Z",
    "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-08236bac375d4c634648c156",
   "url": "/evidence/?pick=n-08236bac375d4c634648c156",
   "quote_text": "Whispers’ prediction: Porto 3-0 Estoril Praia",
   "fragment_from": 4364,
   "fragment_to": 4409,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/porto-vs-estoril-praia-prediction-31-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "a711977df565147a9d32446a81d31e5e1b81d409c85aa1596093ee5b6a92dd31",
    "material_removed": false
   },
   "published_at": "2026-10-29T21:43:56.000Z",
   "detected_at": "2026-10-29T21:54:17.218Z",
   "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-29T21:43:56.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-29T21:43:56.000Z",
    "detected_at": "2026-10-29T21:54:17.218Z",
    "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-204a0988c27c3ee766e6ccc0",
   "url": "/authors/joshua-ojele/picks/6/#pick-n-204a0988c27c3ee766e6ccc0",
   "quote_text": "the correct score market has a correct score of 3-0 at 11/2 (6.50).",
   "fragment_from": 5095,
   "fragment_to": 5162,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/porto-vs-estoril-praia-prediction-31-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "a711977df565147a9d32446a81d31e5e1b81d409c85aa1596093ee5b6a92dd31",
    "material_removed": false
   },
   "published_at": "2026-10-29T21:43:56.000Z",
   "detected_at": "2026-10-29T21:54:17.218Z",
   "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-29T21:43:56.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-29T21:43:56.000Z",
    "detected_at": "2026-10-29T21:54:17.218Z",
    "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-945478ceb0babed04d50fbc8",
   "url": "/authors/joshua-ojele/picks/6/#pick-n-945478ceb0babed04d50fbc8",
   "quote_text": "we predict Porto to win + BTTS – No at 33/50 (1.66)",
   "fragment_from": 5036,
   "fragment_to": 5087,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/porto-vs-estoril-praia-prediction-31-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "a711977df565147a9d32446a81d31e5e1b81d409c85aa1596093ee5b6a92dd31",
    "material_removed": false
   },
   "published_at": "2026-10-29T21:43:56.000Z",
   "detected_at": "2026-10-29T21:54:17.218Z",
   "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-29T21:43:56.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-29T21:43:56.000Z",
    "detected_at": "2026-10-29T21:54:17.218Z",
    "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-af82a80f3205b0c180c4e113",
   "url": "/authors/joshua-ojele/picks/6/#pick-n-af82a80f3205b0c180c4e113",
   "quote_text": "while HT/FT – 1/1 at 33/50 (1.66) is our third pick of the game.",
   "fragment_from": 4868,
   "fragment_to": 4932,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/porto-vs-estoril-praia-prediction-31-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "a711977df565147a9d32446a81d31e5e1b81d409c85aa1596093ee5b6a92dd31",
    "material_removed": false
   },
   "published_at": "2026-10-29T21:43:56.000Z",
   "detected_at": "2026-10-29T21:54:17.218Z",
   "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-29T21:43:56.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-29T21:43:56.000Z",
    "detected_at": "2026-10-29T21:54:17.218Z",
    "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-76614211e135942929be7a1e",
   "url": "/authors/joshua-ojele/picks/6/#pick-n-76614211e135942929be7a1e",
   "quote_text": "making over 2.5 goals at 18/25 (1.72) a favourable punt",
   "fragment_from": 4811,
   "fragment_to": 4866,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/porto-vs-estoril-praia-prediction-31-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "a711977df565147a9d32446a81d31e5e1b81d409c85aa1596093ee5b6a92dd31",
    "material_removed": false
   },
   "published_at": "2026-10-29T21:43:56.000Z",
   "detected_at": "2026-10-29T21:54:17.218Z",
   "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-29T21:43:56.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-29T21:43:56.000Z",
    "detected_at": "2026-10-29T21:54:17.218Z",
    "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-1bebe3b2728fa2e3c69c10d6",
   "url": "/authors/joshua-ojele/picks/6/#pick-n-1bebe3b2728fa2e3c69c10d6",
   "quote_text": "we predict the visitors’ superior quality across the pitch will see them emerge with a commanding victory, which currently sits at 17/100 (1.17).",
   "fragment_from": 4571,
   "fragment_to": 4716,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/porto-vs-estoril-praia-prediction-31-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "a711977df565147a9d32446a81d31e5e1b81d409c85aa1596093ee5b6a92dd31",
    "material_removed": false
   },
   "published_at": "2026-10-29T21:43:56.000Z",
   "detected_at": "2026-10-29T21:54:17.218Z",
   "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-29T21:43:56.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-29T21:43:56.000Z",
    "detected_at": "2026-10-29T21:54:17.218Z",
    "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-acba26ea92cc8b17eb1f6985",
   "url": "/authors/joshua-ojele/picks/6/#pick-n-acba26ea92cc8b17eb1f6985",
   "quote_text": "🔥 Our Hot tip\n\nPorto to win both halves",
   "fragment_from": 86,
   "fragment_to": 125,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/porto-vs-estoril-praia-prediction-31-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "a711977df565147a9d32446a81d31e5e1b81d409c85aa1596093ee5b6a92dd31",
    "material_removed": false
   },
   "published_at": "2026-10-29T21:43:56.000Z",
   "detected_at": "2026-10-29T21:54:17.218Z",
   "executed_at": null,
   "statement_class": "unpriced",
   "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-29T21:43:56.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-29T21:43:56.000Z",
    "detected_at": "2026-10-29T21:54:17.218Z",
    "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-65850a888934128e78810f16",
   "url": "/evidence/?pick=n-65850a888934128e78810f16",
   "quote_text": "Having booked their spot in the semi-finals of the Taca da Liga in midweek",
   "fragment_from": 192,
   "fragment_to": 266,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/casa-pia-vs-sporting-cp-prediction-30-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "9bb0c1599b93f901679e36624c41b45f0a52aaf22227b74d461cf1122bdf9dcb",
    "material_removed": false
   },
   "published_at": "2026-10-29T05:46:24.000Z",
   "detected_at": "2026-10-29T05:51:43.201Z",
   "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-29T05:46:24.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-29T05:46:24.000Z",
    "detected_at": "2026-10-29T05:51:43.201Z",
    "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-b504952b540cfc9168151743",
   "url": "/evidence/?pick=n-b504952b540cfc9168151743",
   "quote_text": "the hosts have steadied their ship and will be eager to take advantage of the visitors’ recent league struggles",
   "fragment_from": 512,
   "fragment_to": 623,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/casa-pia-vs-sporting-cp-prediction-30-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "9bb0c1599b93f901679e36624c41b45f0a52aaf22227b74d461cf1122bdf9dcb",
    "material_removed": false
   },
   "published_at": "2026-10-29T05:46:24.000Z",
   "detected_at": "2026-10-29T05:51:43.201Z",
   "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-29T05:46:24.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-29T05:46:24.000Z",
    "detected_at": "2026-10-29T05:51:43.201Z",
    "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-964610109bf59db283a563b5",
   "url": "/evidence/?pick=n-964610109bf59db283a563b5",
   "quote_text": "While Sporting will be looking to return to winning ways in the league after a recent dip in form",
   "fragment_from": 413,
   "fragment_to": 510,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/casa-pia-vs-sporting-cp-prediction-30-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "9bb0c1599b93f901679e36624c41b45f0a52aaf22227b74d461cf1122bdf9dcb",
    "material_removed": false
   },
   "published_at": "2026-10-29T05:46:24.000Z",
   "detected_at": "2026-10-29T05:51:43.201Z",
   "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-29T05:46:24.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-29T05:46:24.000Z",
    "detected_at": "2026-10-29T05:51:43.201Z",
    "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-9f6bd1667ae0d48b6acf037c",
   "url": "/authors/joshua-ojele/picks/5/#pick-n-9f6bd1667ae0d48b6acf037c",
   "quote_text": "With both sides scoring in seven of the Leoes’ last eight games, Sporting to win + BTTS – Yes at 187/100 (2.87) serves as the value bet for us",
   "fragment_from": 5448,
   "fragment_to": 5590,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/casa-pia-vs-sporting-cp-prediction-30-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "9bb0c1599b93f901679e36624c41b45f0a52aaf22227b74d461cf1122bdf9dcb",
    "material_removed": false
   },
   "published_at": "2026-10-29T05:46:24.000Z",
   "detected_at": "2026-10-29T05:51:43.201Z",
   "executed_at": "2026-10-30T13:06:50.727Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-901bd676fe3a",
    "display_name": "Casa Pia — Sporting CP",
    "competition_name": "Primeira Liga",
    "starts_at": "2026-10-30T20:15:00.000Z",
    "url": "/football/matches/casa-pia-vs-sporting-cp-2026-10-30/",
    "scoreline": "0-2",
    "condition": "finished"
   },
   "market_label": "Match result and both teams to score",
   "outcome_label": "Sporting CP win, both teams to score: yes",
   "odds_set": {
    "by_author": "2.87",
    "our_snapshot": "2.8350",
    "our_snapshot_at": "2026-10-29T05:48:47.160Z",
    "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-29T05:46:24.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-29T05:46:24.000Z",
    "detected_at": "2026-10-29T05:51:43.201Z",
    "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": "Sporting CP win, both teams to score: yes",
    "author_odds": "2.87",
    "market_key": "both_teams_score_and_result",
    "choice_key": "2-yes",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Match result and both teams to score: Sporting CP win, both teams to score: yes at 2.87"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "0-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was Casa Pia 0-2 Sporting CP."
   },
   "settlements": [
    {
     "operation_id": "3d05bb194d9651d50fe2a0dce8baf1fc52093400d4cae4fe5dc37356348b296e",
     "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 both teams to score",
     "choice": "Sporting CP win, both teams to score: yes",
     "decimal_odds": "2.87",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-30T13:06:50.156Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "51383430dbcf6b192891a44238a24d2f39c63ad49d6dd966814fff4f0078bf95",
     "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": "Sporting CP win, both teams to score: yes",
     "decimal_odds": "2.8350",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-30T13:06:50.727Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Joshua Ojele",
    "publisher": "Football Whispers",
    "forecaster": "Joshua Ojele",
    "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/casa-pia-vs-sporting-cp-prediction-30-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-40a113be7cfccb2b907680ab",
   "url": "/authors/joshua-ojele/picks/5/#pick-n-40a113be7cfccb2b907680ab",
   "quote_text": "over 2.5 goals at 57/100 (1.57) is our third pick of the game.",
   "fragment_from": 5384,
   "fragment_to": 5446,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/casa-pia-vs-sporting-cp-prediction-30-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "9bb0c1599b93f901679e36624c41b45f0a52aaf22227b74d461cf1122bdf9dcb",
    "material_removed": false
   },
   "published_at": "2026-10-29T05:46:24.000Z",
   "detected_at": "2026-10-29T05:51:43.201Z",
   "executed_at": "2026-10-30T13:06:49.930Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-901bd676fe3a",
    "display_name": "Casa Pia — Sporting CP",
    "competition_name": "Primeira Liga",
    "starts_at": "2026-10-30T20:15:00.000Z",
    "url": "/football/matches/casa-pia-vs-sporting-cp-2026-10-30/",
    "scoreline": "0-2",
    "condition": "finished"
   },
   "market_label": "Over/Under 2.5 goals",
   "outcome_label": "over 2.5",
   "odds_set": {
    "by_author": "1.57",
    "our_snapshot": "1.5600",
    "our_snapshot_at": "2026-10-29T05:48:47.160Z",
    "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-29T05:46:24.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-29T05:46:24.000Z",
    "detected_at": "2026-10-29T05:51:43.201Z",
    "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.57",
    "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.57"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "0-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was Casa Pia 0-2 Sporting CP."
   },
   "settlements": [
    {
     "operation_id": "a9b7892b21ae5d1910a4d3b9c5c01abb22fba0986083463b391987b82f78f4da",
     "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.57",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-30T13:06:48.534Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "bbac8faa98e257daa6ac193366d61f5b8dadcfb1d23688ae63d127aa35bc50e7",
     "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.5600",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-30T13:06:49.930Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Joshua Ojele",
    "publisher": "Football Whispers",
    "forecaster": "Joshua Ojele",
    "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/casa-pia-vs-sporting-cp-prediction-30-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-a7d82a1c5bee58a794bd8602",
   "url": "/authors/joshua-ojele/picks/5/#pick-n-a7d82a1c5bee58a794bd8602",
   "quote_text": "visitors’ superior quality across the pitch should see them emerge victorious here, which is currently priced at 6/25 (1.24) by the bookies.",
   "fragment_from": 5108,
   "fragment_to": 5248,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/casa-pia-vs-sporting-cp-prediction-30-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "9bb0c1599b93f901679e36624c41b45f0a52aaf22227b74d461cf1122bdf9dcb",
    "material_removed": false
   },
   "published_at": "2026-10-29T05:46:24.000Z",
   "detected_at": "2026-10-29T05:51:43.201Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "not_checked",
   "event": {
    "event_id": "s-901bd676fe3a",
    "display_name": "Casa Pia — Sporting CP",
    "competition_name": "Primeira Liga",
    "starts_at": "2026-10-30T20:15:00.000Z",
    "url": "/football/matches/casa-pia-vs-sporting-cp-2026-10-30/",
    "scoreline": "0-2",
    "condition": "finished"
   },
   "market_label": "1X2, match result",
   "outcome_label": "Sporting CP",
   "odds_set": {
    "by_author": "1.24",
    "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-29T05:46:24.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-29T05:46:24.000Z",
    "detected_at": "2026-10-29T05:51:43.201Z",
    "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": "Sporting CP",
    "author_odds": "1.24",
    "market_key": "1x2",
    "choice_key": "2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: Sporting CP at 1.24"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "0-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won: the final score was Casa Pia 0-2 Sporting CP."
   },
   "settlements": [
    {
     "operation_id": "c7f3d15a890de7262b9e23355ad5dc42f87d4169326ad24640373ed1f0d4f8fb",
     "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": "Sporting CP",
     "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": "e240232b336d4fb1746752bb5b74a7c5ad306f17c4fde4f38fa5cd9e7f46d1eb",
     "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": "Sporting CP",
     "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 Ojele",
    "publisher": "Football Whispers",
    "forecaster": "Joshua Ojele",
    "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/casa-pia-vs-sporting-cp-prediction-30-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-be661865460df0b711b70546",
   "url": "/authors/joshua-ojele/picks/5/#pick-n-be661865460df0b711b70546",
   "quote_text": "correct score market has a correct score of 1-3 at 10/1 (11.00).",
   "fragment_from": 5602,
   "fragment_to": 5666,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/casa-pia-vs-sporting-cp-prediction-30-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "9bb0c1599b93f901679e36624c41b45f0a52aaf22227b74d461cf1122bdf9dcb",
    "material_removed": false
   },
   "published_at": "2026-10-29T05:46:24.000Z",
   "detected_at": "2026-10-29T05:51:43.201Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "not_checked",
   "event": {
    "event_id": "s-901bd676fe3a",
    "display_name": "Casa Pia — Sporting CP",
    "competition_name": "Primeira Liga",
    "starts_at": "2026-10-30T20:15:00.000Z",
    "url": "/football/matches/casa-pia-vs-sporting-cp-2026-10-30/",
    "scoreline": "0-2",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Casa Pia 1-3 Sporting CP",
   "odds_set": {
    "by_author": "11",
    "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-29T05:46:24.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-29T05:46:24.000Z",
    "detected_at": "2026-10-29T05:51:43.201Z",
    "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": "Casa Pia 1-3 Sporting CP",
    "author_odds": "11",
    "market_key": "correct_score_market",
    "choice_key": "1-3",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Casa Pia 1-3 Sporting CP at 11"
   },
   "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 Casa Pia 0-2 Sporting CP."
   },
   "settlements": [
    {
     "operation_id": "086dadf1c3c99348638d0b6b8f44687a8ea98e2ee8d265d320383d05ca66d669",
     "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": "Casa Pia 1-3 Sporting CP",
     "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": "6e74e0044aa55a232366cb2ce1e7cdeab9427e5e17fc0f3cbbe0f97a00c8f596",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Correct score",
     "choice": "Casa Pia 1-3 Sporting CP",
     "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 Ojele",
    "publisher": "Football Whispers",
    "forecaster": "Joshua Ojele",
    "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/casa-pia-vs-sporting-cp-prediction-30-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-16445903202c880718196b9f",
   "url": "/authors/joshua-ojele/picks/5/#pick-n-16445903202c880718196b9f",
   "quote_text": "Sporting CP have led at half time in their last six games against Casa Pia, making HT/FT – 2/2 at 4/5 (1.80) a favourable punt",
   "fragment_from": 5250,
   "fragment_to": 5376,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/casa-pia-vs-sporting-cp-prediction-30-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "9bb0c1599b93f901679e36624c41b45f0a52aaf22227b74d461cf1122bdf9dcb",
    "material_removed": false
   },
   "published_at": "2026-10-29T05:46:24.000Z",
   "detected_at": "2026-10-29T05:51:43.201Z",
   "executed_at": "2026-11-07T10:39:03.809Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-901bd676fe3a",
    "display_name": "Casa Pia — Sporting CP",
    "competition_name": "Primeira Liga",
    "starts_at": "2026-10-30T20:15:00.000Z",
    "url": "/football/matches/casa-pia-vs-sporting-cp-2026-10-30/",
    "scoreline": "0-2",
    "condition": "finished"
   },
   "market_label": "Half-time/full-time",
   "outcome_label": "Sporting CP at half-time, Sporting CP at full-time",
   "odds_set": {
    "by_author": "1.8",
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 8000,
   "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-29T05:46:24.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-29T05:46:24.000Z",
    "detected_at": "2026-10-29T05:51:43.201Z",
    "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": "Half-time/full-time",
    "choice": "Sporting CP at half-time, Sporting CP at full-time",
    "author_odds": "1.8",
    "market_key": "half_time_full_time",
    "choice_key": "2/2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Half-time/full-time: Sporting CP at half-time, Sporting CP at full-time at 1.8"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "0-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won: the final score was Casa Pia 0-2 Sporting CP."
   },
   "settlements": [
    {
     "operation_id": "8df51988cc917bd19efd22073934c17410dfc31ce9b45a97c3946a0497d95ab0",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Half-time/full-time",
     "choice": "Sporting CP at half-time, Sporting CP at full-time",
     "decimal_odds": "1.8",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 8000,
     "executed_at": "2026-11-07T10:39:03.809Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "e104ba40e24c73edbc13c675dddfbb04069371e7f2134c2af16fde11b6a0d85a",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Half-time/full-time",
     "choice": "Sporting CP at half-time, Sporting CP at full-time",
     "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 Ojele",
    "publisher": "Football Whispers",
    "forecaster": "Joshua Ojele",
    "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/casa-pia-vs-sporting-cp-prediction-30-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-854d59ecbf4313124870b9a8",
   "url": "/evidence/?pick=n-854d59ecbf4313124870b9a8",
   "quote_text": "Updated October 24, 2026",
   "fragment_from": 4972,
   "fragment_to": 4996,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/sparta-rotterdam-vs-ajax-prediction-25-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ed343dd35ee41d02d53dfc0b7b373f7322403a06c4fb2acdb3dfb9af5849b9c2",
    "material_removed": false
   },
   "published_at": "2026-10-24T05:34:37.000Z",
   "detected_at": "2026-10-24T05:44:17.473Z",
   "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-24T05:34:37.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-24T05:34:37.000Z",
    "detected_at": "2026-10-24T05:44:17.473Z",
    "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-f50f3f91fe2714ab1aa2da2e",
   "url": "/evidence/?pick=n-f50f3f91fe2714ab1aa2da2e",
   "quote_text": "Read our Sparta Rotterdam vs Ajax preview, prediction and betting tips below",
   "fragment_from": 533,
   "fragment_to": 609,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/sparta-rotterdam-vs-ajax-prediction-25-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ed343dd35ee41d02d53dfc0b7b373f7322403a06c4fb2acdb3dfb9af5849b9c2",
    "material_removed": false
   },
   "published_at": "2026-10-24T05:34:37.000Z",
   "detected_at": "2026-10-24T05:44:17.473Z",
   "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-24T05:34:37.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-24T05:34:37.000Z",
    "detected_at": "2026-10-24T05:44:17.473Z",
    "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-c52b689357755df33e1fec3a",
   "url": "/authors/joshua-ojele/picks/5/#pick-n-c52b689357755df33e1fec3a",
   "quote_text": "correct score market has a correct score of 1-3 at 10/1 (11.00).",
   "fragment_from": 4695,
   "fragment_to": 4759,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/sparta-rotterdam-vs-ajax-prediction-25-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ed343dd35ee41d02d53dfc0b7b373f7322403a06c4fb2acdb3dfb9af5849b9c2",
    "material_removed": false
   },
   "published_at": "2026-10-24T05:34:37.000Z",
   "detected_at": "2026-10-24T05:44:17.473Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "not_checked",
   "event": {
    "event_id": "s-2f7a600f8a8b",
    "display_name": "Sparta Rotterdam — AFC Ajax",
    "competition_name": "Eredivisie",
    "starts_at": "2026-10-25T15:45:00.000Z",
    "url": "/football/matches/sparta-rotterdam-vs-afc-ajax-2026-10-25/",
    "scoreline": "1-2",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Sparta Rotterdam 1-3 AFC Ajax",
   "odds_set": {
    "by_author": "11",
    "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-24T05:34:37.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-24T05:34:37.000Z",
    "detected_at": "2026-10-24T05:44:17.473Z",
    "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": "Sparta Rotterdam 1-3 AFC Ajax",
    "author_odds": "11",
    "market_key": "correct_score_market",
    "choice_key": "1-3",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Sparta Rotterdam 1-3 AFC Ajax at 11"
   },
   "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 Sparta Rotterdam 1-2 AFC Ajax."
   },
   "settlements": [
    {
     "operation_id": "fff24c9592c3f8e6fae096d45f5dc822ab7f9c5f9e0908f6b5c628bcc28fa12d",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Correct score",
     "choice": "Sparta Rotterdam 1-3 AFC Ajax",
     "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": "91f5fe194f6d29e5711babcf39752783697b2c37e0de04264d713597ce17aec5",
     "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": "AFC Ajax",
     "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 Ojele",
    "publisher": "Football Whispers",
    "forecaster": "Joshua Ojele",
    "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/sparta-rotterdam-vs-ajax-prediction-25-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-2f9d005ce4feeffd458f9037",
   "url": "/authors/joshua-ojele/picks/5/#pick-n-2f9d005ce4feeffd458f9037",
   "quote_text": "We also fancy BTTS – Yes at 1/2 (1.50)",
   "fragment_from": 4576,
   "fragment_to": 4614,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/sparta-rotterdam-vs-ajax-prediction-25-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ed343dd35ee41d02d53dfc0b7b373f7322403a06c4fb2acdb3dfb9af5849b9c2",
    "material_removed": false
   },
   "published_at": "2026-10-24T05:34:37.000Z",
   "detected_at": "2026-10-24T05:44:17.473Z",
   "executed_at": "2026-11-07T12:03:11.756Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-2f7a600f8a8b",
    "display_name": "Sparta Rotterdam — AFC Ajax",
    "competition_name": "Eredivisie",
    "starts_at": "2026-10-25T15:45:00.000Z",
    "url": "/football/matches/sparta-rotterdam-vs-afc-ajax-2026-10-25/",
    "scoreline": "1-2",
    "condition": "finished"
   },
   "market_label": "Both teams to score",
   "outcome_label": "yes",
   "odds_set": {
    "by_author": "1.5",
    "our_snapshot": "1.4400",
    "our_snapshot_at": "2026-10-24T05:43:56.156Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 4400,
   "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-24T05:34:37.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-24T05:34:37.000Z",
    "detected_at": "2026-10-24T05:44:17.473Z",
    "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": "1-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won: the final score was Sparta Rotterdam 1-2 AFC Ajax."
   },
   "settlements": [
    {
     "operation_id": "1a012cf99adade1887e0b014233ab84ef0659649ce671ad32818a3e98b505ff6",
     "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-11-07T12:03:10.188Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "af3489db601baf9b0d4f0513eca35bffa54b0cd349273eaa2370eddbb5c2d494",
     "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.4400",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 4400,
     "executed_at": "2026-11-07T12:03:11.756Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Joshua Ojele",
    "publisher": "Football Whispers",
    "forecaster": "Joshua Ojele",
    "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/sparta-rotterdam-vs-ajax-prediction-25-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-b4d006ba17e92ba7a12b44f9",
   "url": "/authors/joshua-ojele/picks/5/#pick-n-b4d006ba17e92ba7a12b44f9",
   "quote_text": "while HT/FT – 2/2 at 21/20 (2.05) is our third pick of the game.",
   "fragment_from": 4510,
   "fragment_to": 4574,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/sparta-rotterdam-vs-ajax-prediction-25-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ed343dd35ee41d02d53dfc0b7b373f7322403a06c4fb2acdb3dfb9af5849b9c2",
    "material_removed": false
   },
   "published_at": "2026-10-24T05:34:37.000Z",
   "detected_at": "2026-10-24T05:44:17.473Z",
   "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-24T05:34:37.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-24T05:34:37.000Z",
    "detected_at": "2026-10-24T05:44:17.473Z",
    "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-8394ba5253c0286cfa6e1e95",
   "url": "/authors/joshua-ojele/picks/5/#pick-n-8394ba5253c0286cfa6e1e95",
   "quote_text": "making over 2.5 goals at 9/25 (1.36) a favourable punt",
   "fragment_from": 4454,
   "fragment_to": 4508,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/sparta-rotterdam-vs-ajax-prediction-25-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ed343dd35ee41d02d53dfc0b7b373f7322403a06c4fb2acdb3dfb9af5849b9c2",
    "material_removed": false
   },
   "published_at": "2026-10-24T05:34:37.000Z",
   "detected_at": "2026-10-24T05:44:17.473Z",
   "executed_at": "2026-11-07T12:03:10.144Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-2f7a600f8a8b",
    "display_name": "Sparta Rotterdam — AFC Ajax",
    "competition_name": "Eredivisie",
    "starts_at": "2026-10-25T15:45:00.000Z",
    "url": "/football/matches/sparta-rotterdam-vs-afc-ajax-2026-10-25/",
    "scoreline": "1-2",
    "condition": "finished"
   },
   "market_label": "Over/Under 2.5 goals",
   "outcome_label": "over 2.5",
   "odds_set": {
    "by_author": "1.36",
    "our_snapshot": "1.3400",
    "our_snapshot_at": "2026-10-24T05:43:56.156Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 3400,
   "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-24T05:34:37.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-24T05:34:37.000Z",
    "detected_at": "2026-10-24T05:44:17.473Z",
    "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.36",
    "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.36"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "1-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won: the final score was Sparta Rotterdam 1-2 AFC Ajax."
   },
   "settlements": [
    {
     "operation_id": "85ccfdab9e6fae28f0261a4bd0e097ae19df929bdd4d8d5872678e5aa8ae5e37",
     "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.36",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 3600,
     "executed_at": "2026-11-07T12:03:08.511Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "4b22d4da706daa2cd059499199c0942a80e8e9d6ca5dea41a98442098518251d",
     "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.3400",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 3400,
     "executed_at": "2026-11-07T12:03:10.144Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Joshua Ojele",
    "publisher": "Football Whispers",
    "forecaster": "Joshua Ojele",
    "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/sparta-rotterdam-vs-ajax-prediction-25-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-0cf3430fcca3bfbab3d61007",
   "url": "/authors/joshua-ojele/picks/5/#pick-n-0cf3430fcca3bfbab3d61007",
   "quote_text": "which is currently priced at 11/25 (1.44) by the bookmakers.",
   "fragment_from": 4299,
   "fragment_to": 4359,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/sparta-rotterdam-vs-ajax-prediction-25-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ed343dd35ee41d02d53dfc0b7b373f7322403a06c4fb2acdb3dfb9af5849b9c2",
    "material_removed": false
   },
   "published_at": "2026-10-24T05:34:37.000Z",
   "detected_at": "2026-10-24T05:44:17.473Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "recognised",
   "cause": "",
   "cause_code": "not_checked",
   "event": {
    "event_id": "s-2f7a600f8a8b",
    "display_name": "Sparta Rotterdam — AFC Ajax",
    "competition_name": "Eredivisie",
    "starts_at": "2026-10-25T15:45:00.000Z",
    "url": "/football/matches/sparta-rotterdam-vs-afc-ajax-2026-10-25/",
    "scoreline": "1-2",
    "condition": "finished"
   },
   "market_label": "1X2, match result",
   "outcome_label": "AFC Ajax",
   "odds_set": {
    "by_author": "1.44",
    "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-24T05:34:37.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-24T05:34:37.000Z",
    "detected_at": "2026-10-24T05:44:17.473Z",
    "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": "AFC Ajax",
    "author_odds": "1.44",
    "market_key": "1x2",
    "choice_key": "2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: AFC Ajax at 1.44"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "1-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won: the final score was Sparta Rotterdam 1-2 AFC Ajax."
   },
   "settlements": [
    {
     "operation_id": "f8f1d9b0636693a949bb3019b83f56a1b532fe87d44cf3b68ff7f9dec9a4a88a",
     "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": "AFC Ajax",
     "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": "748da6cecda3e55fb99cb121e012ff497d98a5242d81ba278226fd9e24f18e3b",
     "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": "AFC Ajax",
     "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 Ojele",
    "publisher": "Football Whispers",
    "forecaster": "Joshua Ojele",
    "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/sparta-rotterdam-vs-ajax-prediction-25-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-c5aa577b1c994922104fc847",
   "url": "/evidence/?pick=n-c5aa577b1c994922104fc847",
   "quote_text": "the correct score market has a correct score of 2-2 at 9/1 (10.00)",
   "fragment_from": 5605,
   "fragment_to": 5671,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/psv-eindhoven-vs-feyenoord-prediction-25-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "a9f1aabccfee05dc62aa924f094fe8f5e7f6ebb613a30f31caf2f8a7b326ccde",
    "material_removed": false
   },
   "published_at": "2026-10-24T04:11:35.000Z",
   "detected_at": "2026-10-24T04:24:26.319Z",
   "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-24T04:11:35.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-24T04:11:35.000Z",
    "detected_at": "2026-10-24T04:24:26.319Z",
    "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-f5155f7c1a638377d1fc547e",
   "url": "/evidence/?pick=n-f5155f7c1a638377d1fc547e",
   "quote_text": "Draw No Bet – Feyenoord is currently priced at 3/2 (2.50)",
   "fragment_from": 5540,
   "fragment_to": 5597,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/psv-eindhoven-vs-feyenoord-prediction-25-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "a9f1aabccfee05dc62aa924f094fe8f5e7f6ebb613a30f31caf2f8a7b326ccde",
    "material_removed": false
   },
   "published_at": "2026-10-24T04:11:35.000Z",
   "detected_at": "2026-10-24T04:24:26.319Z",
   "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-24T04:11:35.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-24T04:11:35.000Z",
    "detected_at": "2026-10-24T04:24:26.319Z",
    "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-ccd7741d63be9da9fe860a91",
   "url": "/authors/joshua-ojele/picks/5/#pick-n-ccd7741d63be9da9fe860a91",
   "quote_text": "Whispers’ prediction: PSV Eindhoven 2-2 Feyenoord",
   "fragment_from": 5059,
   "fragment_to": 5108,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/psv-eindhoven-vs-feyenoord-prediction-25-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "a9f1aabccfee05dc62aa924f094fe8f5e7f6ebb613a30f31caf2f8a7b326ccde",
    "material_removed": false
   },
   "published_at": "2026-10-24T04:11:35.000Z",
   "detected_at": "2026-10-24T04:24:26.319Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "not_checked",
   "event": {
    "event_id": "s-63c4f1691fb8",
    "display_name": "PSV Eindhoven — Feyenoord",
    "competition_name": "Eredivisie",
    "starts_at": "2026-10-25T13:30:00.000Z",
    "url": "/football/matches/psv-eindhoven-vs-feyenoord-2026-10-25/",
    "scoreline": "1-1",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "PSV Eindhoven 2-2 Feyenoord",
   "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-24T04:11:35.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-24T04:11:35.000Z",
    "detected_at": "2026-10-24T04:24:26.319Z",
    "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": "PSV Eindhoven 2-2 Feyenoord",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "2-2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: PSV Eindhoven 2-2 Feyenoord"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "1-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was PSV Eindhoven 1-1 Feyenoord."
   },
   "settlements": [
    {
     "operation_id": "df601802a40a72dccc50a5031a48846578b88ee4a8a7e6cf6415bcd52fa91cbf",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Correct score",
     "choice": "PSV Eindhoven 2-2 Feyenoord",
     "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": "2f1536dcc231ac243c35aa8f814cad47af556f52bc8dd611b548987c0258b49e",
     "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 Ojele",
    "publisher": "Football Whispers",
    "forecaster": "Joshua Ojele",
    "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/psv-eindhoven-vs-feyenoord-prediction-25-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-2e7c6cea8514ad6d8eed23a1",
   "url": "/authors/joshua-ojele/picks/5/#pick-n-2e7c6cea8514ad6d8eed23a1",
   "quote_text": "Double Chance – Draw or Feyenoord at 4/5 (1.80) is the low-risk value bet for us",
   "fragment_from": 5457,
   "fragment_to": 5537,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/psv-eindhoven-vs-feyenoord-prediction-25-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "a9f1aabccfee05dc62aa924f094fe8f5e7f6ebb613a30f31caf2f8a7b326ccde",
    "material_removed": false
   },
   "published_at": "2026-10-24T04:11:35.000Z",
   "detected_at": "2026-10-24T04:24:26.319Z",
   "executed_at": "2026-10-25T13:13:15.125Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-63c4f1691fb8",
    "display_name": "PSV Eindhoven — Feyenoord",
    "competition_name": "Eredivisie",
    "starts_at": "2026-10-25T13:30:00.000Z",
    "url": "/football/matches/psv-eindhoven-vs-feyenoord-2026-10-25/",
    "scoreline": "1-1",
    "condition": "finished"
   },
   "market_label": "Double chance",
   "outcome_label": "draw or Feyenoord",
   "odds_set": {
    "by_author": "1.8",
    "our_snapshot": "1.7634",
    "our_snapshot_at": "2026-10-24T04:20:46.746Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 7634,
   "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-24T04:11:35.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-24T04:11:35.000Z",
    "detected_at": "2026-10-24T04:24:26.319Z",
    "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 Feyenoord",
    "author_odds": "1.8",
    "market_key": "double_chance",
    "choice_key": "X2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Double chance: draw or Feyenoord at 1.8"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "1-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won: the final score was PSV Eindhoven 1-1 Feyenoord."
   },
   "settlements": [
    {
     "operation_id": "2a43cfd89004782d1c2ddeb277c0389d58282ea4612f49f53622a6e0eb37b5b6",
     "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 Feyenoord",
     "decimal_odds": "1.8",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 8000,
     "executed_at": "2026-10-25T13:13:10.688Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "9201eaa87674d651c32d1c7800b064c35a1f2dc8fc6da8c2653373e6d5b52f36",
     "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 Feyenoord",
     "decimal_odds": "1.7634",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 7634,
     "executed_at": "2026-10-25T13:13:15.125Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Joshua Ojele",
    "publisher": "Football Whispers",
    "forecaster": "Joshua Ojele",
    "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/psv-eindhoven-vs-feyenoord-prediction-25-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-b1c4e028c4359d9a709c271b",
   "url": "/authors/joshua-ojele/picks/5/#pick-n-b1c4e028c4359d9a709c271b",
   "quote_text": "we predict over 2.5 goals at 3/10 (1.30)",
   "fragment_from": 5277,
   "fragment_to": 5317,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/psv-eindhoven-vs-feyenoord-prediction-25-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "a9f1aabccfee05dc62aa924f094fe8f5e7f6ebb613a30f31caf2f8a7b326ccde",
    "material_removed": false
   },
   "published_at": "2026-10-24T04:11:35.000Z",
   "detected_at": "2026-10-24T04:24:26.319Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "not_checked",
   "event": {
    "event_id": "s-63c4f1691fb8",
    "display_name": "PSV Eindhoven — Feyenoord",
    "competition_name": "Eredivisie",
    "starts_at": "2026-10-25T13:30:00.000Z",
    "url": "/football/matches/psv-eindhoven-vs-feyenoord-2026-10-25/",
    "scoreline": "1-1",
    "condition": "finished"
   },
   "market_label": "Over/Under 2.5 goals",
   "outcome_label": "over 2.5",
   "odds_set": {
    "by_author": "1.3",
    "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-24T04:11:35.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-24T04:11:35.000Z",
    "detected_at": "2026-10-24T04:24:26.319Z",
    "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.3",
    "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.3"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "1-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was PSV Eindhoven 1-1 Feyenoord."
   },
   "settlements": [
    {
     "operation_id": "508ee5b372bb50b557d015cb3212c9d9f1ebd051a0e99b5e1782cd08c4f52450",
     "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": "5d9ee5513c75d7a70f6c38853b0082baaf016331493e6ecf93d10e32320bf814",
     "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 Ojele",
    "publisher": "Football Whispers",
    "forecaster": "Joshua Ojele",
    "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/psv-eindhoven-vs-feyenoord-prediction-25-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-3a24e913c4e83a7d532028f0",
   "url": "/authors/joshua-ojele/picks/5/#pick-n-3a24e913c4e83a7d532028f0",
   "quote_text": "making BTTS – Yes at 3/10 (1.30) another favourable option",
   "fragment_from": 5391,
   "fragment_to": 5449,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/psv-eindhoven-vs-feyenoord-prediction-25-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "a9f1aabccfee05dc62aa924f094fe8f5e7f6ebb613a30f31caf2f8a7b326ccde",
    "material_removed": false
   },
   "published_at": "2026-10-24T04:11:35.000Z",
   "detected_at": "2026-10-24T04:24:26.319Z",
   "executed_at": "2026-11-07T12:03:44.010Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-63c4f1691fb8",
    "display_name": "PSV Eindhoven — Feyenoord",
    "competition_name": "Eredivisie",
    "starts_at": "2026-10-25T13:30:00.000Z",
    "url": "/football/matches/psv-eindhoven-vs-feyenoord-2026-10-25/",
    "scoreline": "1-1",
    "condition": "finished"
   },
   "market_label": "Both teams to score",
   "outcome_label": "yes",
   "odds_set": {
    "by_author": "1.3",
    "our_snapshot": "1.2700",
    "our_snapshot_at": "2026-10-24T04:22:57.490Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 2700,
   "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-24T04:11:35.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-24T04:11:35.000Z",
    "detected_at": "2026-10-24T04:24:26.319Z",
    "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.3",
    "market_key": "both_teams_score",
    "choice_key": "yes",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Both teams to score: yes at 1.3"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "1-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won: the final score was PSV Eindhoven 1-1 Feyenoord."
   },
   "settlements": [
    {
     "operation_id": "236407024e9db3a61f8980935208ec3c2a317c273ea8f598b00be32c8b7e8542",
     "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.3",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 3000,
     "executed_at": "2026-11-07T12:03:42.928Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "39b761e3bc25683ffb76ecb3a0cab0ad1667fcb2e6031d867ae1c8f0410c3ace",
     "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.2700",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 2700,
     "executed_at": "2026-11-07T12:03:44.010Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Joshua Ojele",
    "publisher": "Football Whispers",
    "forecaster": "Joshua Ojele",
    "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/psv-eindhoven-vs-feyenoord-prediction-25-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-4c70d9aff6927467b67a64cd",
   "url": "/evidence/?pick=n-4c70d9aff6927467b67a64cd",
   "quote_text": "Gil Vicente have failed to win five of their last six Primeira Liga home games against Porto",
   "fragment_from": 988,
   "fragment_to": 1080,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/gil-vicente-vs-porto-prediction-24-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ed1358477f94e724b9e897d03e8c99ec9cae2a472ae5654cdb71888fd417bedf",
    "material_removed": false
   },
   "published_at": "2026-10-23T04:54:02.000Z",
   "detected_at": "2026-10-23T05:04:17.221Z",
   "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-23T04:54:02.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T04:54:02.000Z",
    "detected_at": "2026-10-23T05:04:17.221Z",
    "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-cec3a292c0d03ae1209583ba",
   "url": "/evidence/?pick=n-cec3a292c0d03ae1209583ba",
   "quote_text": "Porto have won 13 of their last 14 Primeira Liga games",
   "fragment_from": 870,
   "fragment_to": 924,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/gil-vicente-vs-porto-prediction-24-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ed1358477f94e724b9e897d03e8c99ec9cae2a472ae5654cdb71888fd417bedf",
    "material_removed": false
   },
   "published_at": "2026-10-23T04:54:02.000Z",
   "detected_at": "2026-10-23T05:04:17.221Z",
   "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-23T04:54:02.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T04:54:02.000Z",
    "detected_at": "2026-10-23T05:04:17.221Z",
    "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-e75c9ccc3b8baeb75e26733b",
   "url": "/evidence/?pick=n-e75c9ccc3b8baeb75e26733b",
   "quote_text": "the Dragoes’ superior quality across the pitch should see them victorious here",
   "fragment_from": 4577,
   "fragment_to": 4655,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/gil-vicente-vs-porto-prediction-24-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ed1358477f94e724b9e897d03e8c99ec9cae2a472ae5654cdb71888fd417bedf",
    "material_removed": false
   },
   "published_at": "2026-10-23T04:54:02.000Z",
   "detected_at": "2026-10-23T05:04:17.221Z",
   "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-23T04:54:02.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T04:54:02.000Z",
    "detected_at": "2026-10-23T05:04:17.221Z",
    "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-b3d32c6046cc33b6bd26054c",
   "url": "/evidence/?pick=n-b3d32c6046cc33b6bd26054c",
   "quote_text": "Whispers’ prediction: Gil Vicente 1-3 Porto",
   "fragment_from": 4390,
   "fragment_to": 4433,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/gil-vicente-vs-porto-prediction-24-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ed1358477f94e724b9e897d03e8c99ec9cae2a472ae5654cdb71888fd417bedf",
    "material_removed": false
   },
   "published_at": "2026-10-23T04:54:02.000Z",
   "detected_at": "2026-10-23T05:04:17.221Z",
   "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-23T04:54:02.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T04:54:02.000Z",
    "detected_at": "2026-10-23T05:04:17.221Z",
    "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-94227a5b3b1e3031f139004c",
   "url": "/authors/joshua-ojele/picks/5/#pick-n-94227a5b3b1e3031f139004c",
   "quote_text": "Correct score: 1-3 at 12/1 (13.00)",
   "fragment_from": 5207,
   "fragment_to": 5241,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/gil-vicente-vs-porto-prediction-24-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ed1358477f94e724b9e897d03e8c99ec9cae2a472ae5654cdb71888fd417bedf",
    "material_removed": false
   },
   "published_at": "2026-10-23T04:54:02.000Z",
   "detected_at": "2026-10-23T05:04:17.221Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "not_checked",
   "event": {
    "event_id": "s-63275223a897",
    "display_name": "Gil Vicente — FC Porto",
    "competition_name": "Primeira Liga",
    "starts_at": "2026-10-24T19:30:00.000Z",
    "url": "/football/matches/gil-vicente-vs-fc-porto-2026-10-24/",
    "scoreline": "0-1",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Gil Vicente 1-3 FC Porto",
   "odds_set": {
    "by_author": "13",
    "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-23T04:54:02.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T04:54:02.000Z",
    "detected_at": "2026-10-23T05:04:17.221Z",
    "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": "Gil Vicente 1-3 FC Porto",
    "author_odds": "13",
    "market_key": "correct_score_market",
    "choice_key": "1-3",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Gil Vicente 1-3 FC Porto at 13"
   },
   "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 Gil Vicente 0-1 FC Porto."
   },
   "settlements": [
    {
     "operation_id": "77335bae99b2583393dca4d8bda7e1f7902970bac6def8eb9fae4eb6da241bd6",
     "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": "Gil Vicente 1-3 FC Porto",
     "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": "790070fbaaee449b82d04a1183c78f05c59c4c0312ff18034d4b683a8631a40a",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Correct score",
     "choice": "Gil Vicente 1-3 FC Porto",
     "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 Ojele",
    "publisher": "Football Whispers",
    "forecaster": "Joshua Ojele",
    "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/gil-vicente-vs-porto-prediction-24-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-1383406545198b7b266ced7f",
   "url": "/authors/joshua-ojele/picks/5/#pick-n-1383406545198b7b266ced7f",
   "quote_text": "Over 2.5 goals – Yes at 17/20 (1.85)",
   "fragment_from": 5093,
   "fragment_to": 5129,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/gil-vicente-vs-porto-prediction-24-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ed1358477f94e724b9e897d03e8c99ec9cae2a472ae5654cdb71888fd417bedf",
    "material_removed": false
   },
   "published_at": "2026-10-23T04:54:02.000Z",
   "detected_at": "2026-10-23T05:04:17.221Z",
   "executed_at": "2026-10-23T06:46:02.548Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-63275223a897",
    "display_name": "Gil Vicente — FC Porto",
    "competition_name": "Primeira Liga",
    "starts_at": "2026-10-24T19:30:00.000Z",
    "url": "/football/matches/gil-vicente-vs-fc-porto-2026-10-24/",
    "scoreline": "0-1",
    "condition": "finished"
   },
   "market_label": "Over/Under 2.5 goals",
   "outcome_label": "over 2.5",
   "odds_set": {
    "by_author": "1.85",
    "our_snapshot": "1.8200",
    "our_snapshot_at": "2026-10-23T05:07:27.765Z",
    "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-23T04:54:02.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T04:54:02.000Z",
    "detected_at": "2026-10-23T05:04:17.221Z",
    "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.85",
    "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.85"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "0-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was Gil Vicente 0-1 FC Porto."
   },
   "settlements": [
    {
     "operation_id": "8b2e2a2f410965d5fb1f39ceb7a1ae519ea0ab3b746660d4fd8bead7fda88824",
     "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.85",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-23T06:46:00.548Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "cb16295f66695daf523a3b182eb5fb2ae7fcd97914f320595b2a42ae01d81edc",
     "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.8200",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-23T06:46:02.548Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Joshua Ojele",
    "publisher": "Football Whispers",
    "forecaster": "Joshua Ojele",
    "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/gil-vicente-vs-porto-prediction-24-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-c3d4fd0ad62032033c5fe95c",
   "url": "/authors/joshua-ojele/picks/5/#pick-n-c3d4fd0ad62032033c5fe95c",
   "quote_text": "BTTS – Yes at 1/1 (2.00)",
   "fragment_from": 4923,
   "fragment_to": 4947,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/gil-vicente-vs-porto-prediction-24-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ed1358477f94e724b9e897d03e8c99ec9cae2a472ae5654cdb71888fd417bedf",
    "material_removed": false
   },
   "published_at": "2026-10-23T04:54:02.000Z",
   "detected_at": "2026-10-23T05:04:17.221Z",
   "executed_at": "2026-10-23T06:46:00.522Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-63275223a897",
    "display_name": "Gil Vicente — FC Porto",
    "competition_name": "Primeira Liga",
    "starts_at": "2026-10-24T19:30:00.000Z",
    "url": "/football/matches/gil-vicente-vs-fc-porto-2026-10-24/",
    "scoreline": "0-1",
    "condition": "finished"
   },
   "market_label": "Both teams to score",
   "outcome_label": "yes",
   "odds_set": {
    "by_author": "2",
    "our_snapshot": "2.0250",
    "our_snapshot_at": "2026-10-23T05:02:08.169Z",
    "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-23T04:54:02.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T04:54:02.000Z",
    "detected_at": "2026-10-23T05:04:17.221Z",
    "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": "2",
    "market_key": "both_teams_score",
    "choice_key": "yes",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Both teams to score: yes at 2"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "0-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was Gil Vicente 0-1 FC Porto."
   },
   "settlements": [
    {
     "operation_id": "e768cc8ae2c197e00b5362a0d12fc8e922fcad59466d77eda5b6a7166f003904",
     "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": "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-23T06:45:59.060Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "73887163075477526f6fff84318ef2465972ce12ef3e0f66f9f6e671955f1e6d",
     "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": "2.0250",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-23T06:46:00.522Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Joshua Ojele",
    "publisher": "Football Whispers",
    "forecaster": "Joshua Ojele",
    "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/gil-vicente-vs-porto-prediction-24-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-84614fb1573b61f7c9c0e310",
   "url": "/evidence/?pick=n-84614fb1573b61f7c9c0e310",
   "quote_text": "while a goal range of 2-4 goals sits at 53/100 (1.53).",
   "fragment_from": 4882,
   "fragment_to": 4936,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://footballwhispers.com/blog/monaco-vs-freiburg-prediction-22-10-2026/",
    "display_name": null,
    "speaker": "Joshua Ojele",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "9ceb01db3d0b0cb07ca674591c9079fd8ab73c742d6ba25be535754a71db16fd",
    "material_removed": false
   },
   "published_at": "2026-10-21T06:35:16.000Z",
   "detected_at": "2026-10-21T06:44:17.235Z",
   "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-21T06:35:16.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-21T06:35:16.000Z",
    "detected_at": "2026-10-21T06:44:17.235Z",
    "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": "CS-10",
    "display_name": "Exact score 2–1 · Academico Viseu v Rio Ave · 1 Nov 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 2–1 · Academico Viseu v Rio Ave · 1 Nov 2026",
    "rationale": "Correct score 2–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 Ojele · Exact score 2–1 · Academico Viseu v Rio Ave · 1 Nov 2026 · Tracked by Forecast Record",
    "csv_url": null,
    "embed": "<a href=\"https://forecastrecord.com/authors/joshua-ojele/#title-exact-score-called\" rel=\"nofollow\"><img src=\"https://forecastrecord.com/b/e-039bcef343c50ba1d22f8e19/cs-10-all-event-m-light.svg\" alt=\"Joshua Ojele · Exact score 2–1 · Academico Viseu v Rio Ave · 1 Nov 2026 · Tracked by Forecast Record\" width=\"827\" height=\"28\" loading=\"lazy\"></a>",
    "neighbours": [],
    "window_words": "On show until 30 Jan 2027",
    "measure_words": null,
    "amount_words": null,
    "interval_words": null,
    "title_tier": "dated_record",
    "status": "active",
    "status_reason": null,
    "event_at": "2026-11-01",
    "evidence_through": "2026-11-01",
    "earned_at": "2026-11-01",
    "published_at": "2026-11-02",
    "visible_until": "2027-01-30",
    "badge_label": "Exact score 2–1 · 1 Nov",
    "scope_words": null,
    "title_id": "zk-068f2226d929517145ce",
    "evidence_items": [
     {
      "nid": "n-ccb8808e1a37c9e3000ac3d8",
      "data": "2026-11-01",
      "match": "Academico Viseu v Rio Ave",
      "said_text": "Correct score: Academico Viseu 2-1 Rio Ave",
      "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-ojele/picks/6/#pick-n-ccb8808e1a37c9e3000ac3d8"
     }
    ],
    "evidence_total": 1,
    "badge": {
     "variants": [
      {
       "size": "l",
       "theme": "light",
       "width": 1124,
       "height": 40,
       "url": "/b/e-039bcef343c50ba1d22f8e19/cs-10-all-event-l-light.svg"
      },
      {
       "size": "l",
       "theme": "dark",
       "width": 1124,
       "height": 40,
       "url": "/b/e-039bcef343c50ba1d22f8e19/cs-10-all-event-l-dark.svg"
      },
      {
       "size": "m",
       "theme": "light",
       "width": 827,
       "height": 28,
       "url": "/b/e-039bcef343c50ba1d22f8e19/cs-10-all-event-m-light.svg"
      },
      {
       "size": "m",
       "theme": "dark",
       "width": 827,
       "height": 28,
       "url": "/b/e-039bcef343c50ba1d22f8e19/cs-10-all-event-m-dark.svg"
      },
      {
       "size": "s",
       "theme": "light",
       "width": 645,
       "height": 20,
       "url": "/b/e-039bcef343c50ba1d22f8e19/cs-10-all-event-s-light.svg"
      },
      {
       "size": "s",
       "theme": "dark",
       "width": 645,
       "height": 20,
       "url": "/b/e-039bcef343c50ba1d22f8e19/cs-10-all-event-s-dark.svg"
      }
     ],
     "card_url": "/b/e-039bcef343c50ba1d22f8e19/cs-10-all-event-card.svg"
    },
    "profile_anchor": "title-068f2226d929",
    "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": "P-01",
    "display_name": "5/6 result calls right · week of 19 Oct 2026",
    "received_at": "2026-11-07T19:52:23.438Z",
    "window_kind": "event",
    "cause": null,
    "type_code": null,
    "bucket_code": "w-c4392fb341",
    "bucket": "Week record",
    "measure": null,
    "place": null,
    "out_of": null,
    "n_bets": 6,
    "n_events": null,
    "amount": null,
    "ci_low": null,
    "ci_high": null,
    "ci_level": null,
    "fact": "5/6 result calls right · week of 19 Oct 2026",
    "rationale": "5 of 6 result calls right in the week 19 Oct 2026–25 Oct 2026 (Monday to Sunday, UTC), one call per match. On 6 of these matches the other tipsters and sources were right 52.2% of the time. 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-01-w-c4392fb341-event",
    "alt": "Joshua Ojele · 5/6 result calls right · week of 19 Oct 2026 · Tracked by Forecast Record",
    "csv_url": null,
    "embed": "<a href=\"https://forecastrecord.com/authors/joshua-ojele/#title-week-record\" rel=\"nofollow\"><img src=\"https://forecastrecord.com/b/e-039bcef343c50ba1d22f8e19/p-01-w-c4392fb341-event-m-light.svg\" alt=\"Joshua Ojele · 5/6 result calls right · week of 19 Oct 2026 · Tracked by Forecast Record\" width=\"730\" 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": "5/6 · week of 19 Oct",
    "scope_words": null,
    "title_id": "zk-c4392fb341fcded380fb",
    "evidence_items": [
     {
      "nid": "n-779400daa4b2cc0b045de835",
      "data": "2026-10-22",
      "match": "AFC Ajax v Atalanta",
      "said_text": "1X2, match result: AFC Ajax at 2.1",
      "outcome_label": "right",
      "evidence_price": 2.0,
      "comparison": "8 other tipsters and sources on this match, 4 right (4 named home win, 3 named draw, 1 named away win)",
      "url": "/authors/joshua-ojele/picks/4/#pick-n-779400daa4b2cc0b045de835"
     },
     {
      "nid": "n-2b24af3becc0b764cea0856e",
      "data": "2026-10-22",
      "match": "Monaco v SC Freiburg",
      "said_text": "1X2, match result: Monaco at 2.2",
      "outcome_label": "right",
      "evidence_price": 2.3,
      "comparison": "8 other tipsters and sources on this match, 3 right (5 named draw, 3 named home win)",
      "url": "/authors/joshua-ojele/picks/4/#pick-n-2b24af3becc0b764cea0856e"
     },
     {
      "nid": "n-175a3480aafac7a87761819d",
      "data": "2026-10-24",
      "match": "Estrela Amadora v Casa Pia",
      "said_text": "Correct score: Estrela Amadora 2-1 Casa Pia",
      "outcome_label": "score wrong · result wrong",
      "evidence_price": null,
      "comparison": "5 other tipsters and sources on this match, 0 right (5 named home win)",
      "url": "/authors/joshua-ojele/picks/5/#pick-n-175a3480aafac7a87761819d"
     },
     {
      "nid": "n-94227a5b3b1e3031f139004c",
      "data": "2026-10-24",
      "match": "Gil Vicente v FC Porto",
      "said_text": "Correct score: Gil Vicente 1-3 FC Porto at 13",
      "outcome_label": "score wrong · result right",
      "evidence_price": 1.45,
      "comparison": "13 other tipsters and sources on this match, 12 right (12 named away win, 1 named draw)",
      "url": "/authors/joshua-ojele/picks/5/#pick-n-94227a5b3b1e3031f139004c"
     },
     {
      "nid": "n-ccd7741d63be9da9fe860a91",
      "data": "2026-10-25",
      "match": "PSV Eindhoven v Feyenoord",
      "said_text": "Correct score: PSV Eindhoven 2-2 Feyenoord",
      "outcome_label": "score wrong · result right",
      "evidence_price": 4.1,
      "comparison": "6 other tipsters and sources on this match, 2 right (3 named home win, 2 named draw, 1 named away win)",
      "url": "/authors/joshua-ojele/picks/5/#pick-n-ccd7741d63be9da9fe860a91"
     },
     {
      "nid": "n-0cf3430fcca3bfbab3d61007",
      "data": "2026-10-25",
      "match": "Sparta Rotterdam v AFC Ajax",
      "said_text": "1X2, match result: AFC Ajax at 1.44",
      "outcome_label": "right",
      "evidence_price": 1.46,
      "comparison": "7 other tipsters and sources on this match, 7 right (7 named away win)",
      "url": "/authors/joshua-ojele/picks/5/#pick-n-0cf3430fcca3bfbab3d61007"
     }
    ],
    "evidence_total": 6,
    "badge": {
     "variants": [
      {
       "size": "l",
       "theme": "light",
       "width": 992,
       "height": 40,
       "url": "/b/e-039bcef343c50ba1d22f8e19/p-01-w-c4392fb341-event-l-light.svg"
      },
      {
       "size": "l",
       "theme": "dark",
       "width": 992,
       "height": 40,
       "url": "/b/e-039bcef343c50ba1d22f8e19/p-01-w-c4392fb341-event-l-dark.svg"
      },
      {
       "size": "m",
       "theme": "light",
       "width": 730,
       "height": 28,
       "url": "/b/e-039bcef343c50ba1d22f8e19/p-01-w-c4392fb341-event-m-light.svg"
      },
      {
       "size": "m",
       "theme": "dark",
       "width": 730,
       "height": 28,
       "url": "/b/e-039bcef343c50ba1d22f8e19/p-01-w-c4392fb341-event-m-dark.svg"
      },
      {
       "size": "s",
       "theme": "light",
       "width": 569,
       "height": 20,
       "url": "/b/e-039bcef343c50ba1d22f8e19/p-01-w-c4392fb341-event-s-light.svg"
      },
      {
       "size": "s",
       "theme": "dark",
       "width": 569,
       "height": 20,
       "url": "/b/e-039bcef343c50ba1d22f8e19/p-01-w-c4392fb341-event-s-dark.svg"
      }
     ],
     "card_url": "/b/e-039bcef343c50ba1d22f8e19/p-01-w-c4392fb341-event-card.svg"
    },
    "profile_anchor": "title-c4392fb341fc",
    "chance": {
     "contract_version": 1,
     "kind": "at_least",
     "priced": 5,
     "unpriced": 1,
     "hits": 3,
     "probability": 0.522483,
     "one_in": 2,
     "log10": -0.28,
     "words": "about even",
     "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-week-record"
   },
   {
    "code_name": "E-07",
    "display_name": "Draw at 4.10 · PSV Eindhoven v Feyenoord · 25 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 4.10 · PSV Eindhoven v Feyenoord · 25 Oct 2026",
    "rationale": "Draw called correctly at 4.10 (our pre-match price). 6 other tipsters and sources on this match, 2 right (3 named home win, 2 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 Ojele · Draw at 4.10 · PSV Eindhoven v Feyenoord · 25 Oct 2026 · Tracked by Forecast Record",
    "csv_url": null,
    "embed": "<a href=\"https://forecastrecord.com/authors/joshua-ojele/#title-long-price-call\" rel=\"nofollow\"><img src=\"https://forecastrecord.com/b/e-039bcef343c50ba1d22f8e19/e-07-all-event-m-light.svg\" alt=\"Joshua Ojele · Draw at 4.10 · PSV Eindhoven v Feyenoord · 25 Oct 2026 · Tracked by Forecast Record\" width=\"811\" 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": "Correct at 4.10 · 25 Oct",
    "scope_words": null,
    "title_id": "zk-1c5af07215f8ae3fb3c0",
    "evidence_items": [
     {
      "nid": "n-ccd7741d63be9da9fe860a91",
      "data": "2026-10-25",
      "match": "PSV Eindhoven v Feyenoord",
      "said_text": "Correct score: PSV Eindhoven 2-2 Feyenoord",
      "outcome_label": "score wrong · result right",
      "evidence_price": 4.1,
      "comparison": "6 other tipsters and sources on this match, 2 right (3 named home win, 2 named draw, 1 named away win)",
      "url": "/authors/joshua-ojele/picks/5/#pick-n-ccd7741d63be9da9fe860a91"
     }
    ],
    "evidence_total": 1,
    "badge": {
     "variants": [
      {
       "size": "l",
       "theme": "light",
       "width": 1102,
       "height": 40,
       "url": "/b/e-039bcef343c50ba1d22f8e19/e-07-all-event-l-light.svg"
      },
      {
       "size": "l",
       "theme": "dark",
       "width": 1102,
       "height": 40,
       "url": "/b/e-039bcef343c50ba1d22f8e19/e-07-all-event-l-dark.svg"
      },
      {
       "size": "m",
       "theme": "light",
       "width": 811,
       "height": 28,
       "url": "/b/e-039bcef343c50ba1d22f8e19/e-07-all-event-m-light.svg"
      },
      {
       "size": "m",
       "theme": "dark",
       "width": 811,
       "height": 28,
       "url": "/b/e-039bcef343c50ba1d22f8e19/e-07-all-event-m-dark.svg"
      },
      {
       "size": "s",
       "theme": "light",
       "width": 633,
       "height": 20,
       "url": "/b/e-039bcef343c50ba1d22f8e19/e-07-all-event-s-light.svg"
      },
      {
       "size": "s",
       "theme": "dark",
       "width": 633,
       "height": 20,
       "url": "/b/e-039bcef343c50ba1d22f8e19/e-07-all-event-s-dark.svg"
      }
     ],
     "card_url": "/b/e-039bcef343c50ba1d22f8e19/e-07-all-event-card.svg"
    },
    "profile_anchor": "title-1c5af07215f8",
    "chance": {
     "contract_version": 1,
     "kind": "single",
     "priced": 1,
     "unpriced": 0,
     "hits": 1,
     "probability": 0.243902,
     "one_in": 4,
     "log10": -0.61,
     "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 3–1 · Atalanta v Pafos · 15 Oct 2026",
    "received_at": "2026-11-07T19:52:23.438Z",
    "window_kind": "event",
    "cause": null,
    "type_code": null,
    "bucket_code": "z-7fed09a2c8",
    "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 3–1 · Atalanta v Pafos · 15 Oct 2026",
    "rationale": "Correct score 3–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-7fed09a2c8-event",
    "alt": "Joshua Ojele · Exact score 3–1 · Atalanta v Pafos · 15 Oct 2026 · Tracked by Forecast Record",
    "csv_url": null,
    "embed": "<a href=\"https://forecastrecord.com/authors/joshua-ojele/#title-exact-score-called-exact-score-called\" rel=\"nofollow\"><img src=\"https://forecastrecord.com/b/e-039bcef343c50ba1d22f8e19/cs-10-z-7fed09a2c8-event-m-light.svg\" alt=\"Joshua Ojele · Exact score 3–1 · Atalanta v Pafos · 15 Oct 2026 · Tracked by Forecast Record\" width=\"762\" height=\"28\" loading=\"lazy\"></a>",
    "neighbours": [],
    "window_words": "On show until 13 Jan 2027",
    "measure_words": null,
    "amount_words": null,
    "interval_words": null,
    "title_tier": "dated_record",
    "status": "active",
    "status_reason": null,
    "event_at": "2026-10-15",
    "evidence_through": "2026-10-15",
    "earned_at": "2026-10-15",
    "published_at": null,
    "visible_until": "2027-01-13",
    "badge_label": "Exact score 3–1 · 15 Oct",
    "scope_words": null,
    "title_id": "zk-7fed09a2c880959d1f81",
    "evidence_items": [
     {
      "nid": "n-7af182ecfb36904b3bfc3330",
      "data": "2026-10-15",
      "match": "Atalanta v Pafos",
      "said_text": "Correct score: Atalanta 3-1 Pafos at 11",
      "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-ojele/picks/4/#pick-n-7af182ecfb36904b3bfc3330"
     }
    ],
    "evidence_total": 1,
    "badge": {
     "variants": [
      {
       "size": "l",
       "theme": "light",
       "width": 1036,
       "height": 40,
       "url": "/b/e-039bcef343c50ba1d22f8e19/cs-10-z-7fed09a2c8-event-l-light.svg"
      },
      {
       "size": "l",
       "theme": "dark",
       "width": 1036,
       "height": 40,
       "url": "/b/e-039bcef343c50ba1d22f8e19/cs-10-z-7fed09a2c8-event-l-dark.svg"
      },
      {
       "size": "m",
       "theme": "light",
       "width": 762,
       "height": 28,
       "url": "/b/e-039bcef343c50ba1d22f8e19/cs-10-z-7fed09a2c8-event-m-light.svg"
      },
      {
       "size": "m",
       "theme": "dark",
       "width": 762,
       "height": 28,
       "url": "/b/e-039bcef343c50ba1d22f8e19/cs-10-z-7fed09a2c8-event-m-dark.svg"
      },
      {
       "size": "s",
       "theme": "light",
       "width": 594,
       "height": 20,
       "url": "/b/e-039bcef343c50ba1d22f8e19/cs-10-z-7fed09a2c8-event-s-light.svg"
      },
      {
       "size": "s",
       "theme": "dark",
       "width": 594,
       "height": 20,
       "url": "/b/e-039bcef343c50ba1d22f8e19/cs-10-z-7fed09a2c8-event-s-dark.svg"
      }
     ],
     "card_url": "/b/e-039bcef343c50ba1d22f8e19/cs-10-z-7fed09a2c8-event-card.svg"
    },
    "profile_anchor": "title-7fed09a2c880",
    "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": "CS-10",
    "display_name": "Exact score 2–0 · Benfica v Vitória Guimarães · 11 Oct 2026",
    "received_at": "2026-11-07T19:52:23.438Z",
    "window_kind": "event",
    "cause": null,
    "type_code": null,
    "bucket_code": "z-c216068fdc",
    "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–0 · Benfica v Vitória Guimarães · 11 Oct 2026",
    "rationale": "Correct score 2–0 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-c216068fdc-event",
    "alt": "Joshua Ojele · Exact score 2–0 · Benfica v Vitória Guimarães · 11 Oct 2026 · Tracked by Forecast Record",
    "csv_url": null,
    "embed": "<a href=\"https://forecastrecord.com/authors/joshua-ojele/#title-exact-score-called-exact-score-called-2\" rel=\"nofollow\"><img src=\"https://forecastrecord.com/b/e-039bcef343c50ba1d22f8e19/cs-10-z-c216068fdc-event-m-light.svg\" alt=\"Joshua Ojele · Exact score 2–0 · Benfica v Vitória Guimarães · 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": "Exact score 2–0 · 11 Oct",
    "scope_words": null,
    "title_id": "zk-c216068fdce5e05c56fe",
    "evidence_items": [
     {
      "nid": "n-b2ca1a23e7292e1d7b35ba8f",
      "data": "2026-10-11",
      "match": "Benfica v Vitória Guimarães",
      "said_text": "Correct score: Benfica 2-0 Vitória Guimarães at 7",
      "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-ojele/picks/3/#pick-n-b2ca1a23e7292e1d7b35ba8f"
     }
    ],
    "evidence_total": 1,
    "badge": {
     "variants": [
      {
       "size": "l",
       "theme": "light",
       "width": 1157,
       "height": 40,
       "url": "/b/e-039bcef343c50ba1d22f8e19/cs-10-z-c216068fdc-event-l-light.svg"
      },
      {
       "size": "l",
       "theme": "dark",
       "width": 1157,
       "height": 40,
       "url": "/b/e-039bcef343c50ba1d22f8e19/cs-10-z-c216068fdc-event-l-dark.svg"
      },
      {
       "size": "m",
       "theme": "light",
       "width": 851,
       "height": 28,
       "url": "/b/e-039bcef343c50ba1d22f8e19/cs-10-z-c216068fdc-event-m-light.svg"
      },
      {
       "size": "m",
       "theme": "dark",
       "width": 851,
       "height": 28,
       "url": "/b/e-039bcef343c50ba1d22f8e19/cs-10-z-c216068fdc-event-m-dark.svg"
      },
      {
       "size": "s",
       "theme": "light",
       "width": 665,
       "height": 20,
       "url": "/b/e-039bcef343c50ba1d22f8e19/cs-10-z-c216068fdc-event-s-light.svg"
      },
      {
       "size": "s",
       "theme": "dark",
       "width": 665,
       "height": 20,
       "url": "/b/e-039bcef343c50ba1d22f8e19/cs-10-z-c216068fdc-event-s-dark.svg"
      }
     ],
     "card_url": "/b/e-039bcef343c50ba1d22f8e19/cs-10-z-c216068fdc-event-card.svg"
    },
    "profile_anchor": "title-c216068fdce5",
    "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-c4392fb341fcded380fb",
    "code_name": "P-01",
    "title_tier": "dated_record",
    "badge_label": "5/6 · week of 19 Oct",
    "body": "5/6 result calls right · week of 19 Oct 2026",
    "tier": null,
    "provenance": "live",
    "anchor_id": "title-c4392fb341fc",
    "event_at": "2026-10-25",
    "url": "/titles/p-01-week-record/#zk-c4392fb341fcded380fb"
   },
   {
    "title_id": "zk-068f2226d929517145ce",
    "code_name": "CS-10",
    "title_tier": "dated_record",
    "badge_label": "Exact score 2–1 · 1 Nov",
    "body": "Exact score 2–1 · Academico Viseu v Rio Ave · 1 Nov 2026",
    "tier": null,
    "provenance": "live",
    "anchor_id": "title-068f2226d929",
    "event_at": "2026-11-01",
    "url": "/titles/cs-10-exact-score-called/"
   },
   {
    "title_id": "zk-1c5af07215f8ae3fb3c0",
    "code_name": "E-07",
    "title_tier": "dated_record",
    "badge_label": "Correct at 4.10 · 25 Oct",
    "body": "Draw at 4.10 · PSV Eindhoven v Feyenoord · 25 Oct 2026",
    "tier": null,
    "provenance": "live",
    "anchor_id": "title-1c5af07215f8",
    "event_at": "2026-10-25",
    "url": "/titles/e-07-long-price-call/"
   }
  ],
  "record_origin": [
   {
    "portion": "live",
    "n": 68,
    "body": "68 recorded before kick-off · since 30 Sep 2026"
   }
  ],
  "recent_record": [
   {
    "code_name": "P-01",
    "body": "5/6 result calls right · week of 19 Oct 2026",
    "event_at": "2026-10-25",
    "url": null,
    "provenance": "live",
    "anchor_id": "title-c4392fb341fc"
   },
   {
    "code_name": "CS-10",
    "body": "Exact score 2–1 · Academico Viseu v Rio Ave · 1 Nov 2026",
    "event_at": "2026-11-01",
    "url": null,
    "provenance": "live",
    "anchor_id": "title-068f2226d929"
   },
   {
    "code_name": "E-07",
    "body": "Draw at 4.10 · PSV Eindhoven v Feyenoord · 25 Oct 2026",
    "event_at": "2026-10-25",
    "url": null,
    "provenance": "live",
    "anchor_id": "title-1c5af07215f8"
   },
   {
    "code_name": "CS-10",
    "body": "Exact score 3–1 · Atalanta v Pafos · 15 Oct 2026",
    "event_at": "2026-10-15",
    "url": null,
    "provenance": "live",
    "anchor_id": "title-7fed09a2c880"
   },
   {
    "code_name": "CS-10",
    "body": "Exact score 2–0 · Benfica v Vitória Guimarães · 11 Oct 2026",
    "event_at": "2026-10-11",
    "url": null,
    "provenance": "live",
    "anchor_id": "title-c216068fdce5"
   }
  ],
  "record_details": [
   {
    "code_name": "M-11",
    "body": "Most recorded: Correct score · 22 matches",
    "details_words": "Correct score 3/22 (22 matches); Match result (1X2) 9/11 (11 matches); Bet-builder combos 6/13 (10 matches); Both teams to score 5/10 (10 matches); Goals over/under 4/10 (10 matches); Double chance and draw no bet 1/1 (1 match); Goalscorer picks 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/22",
    "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 4.10 · 25 Oct 2026",
    "details_words": "PSV Eindhoven v Feyenoord · Draw at 4.10 (our pre-match price) · from the predicted score: Correct score: PSV Eindhoven 2-2 Feyenoord",
    "url": "/authors/joshua-ojele/picks/5/#pick-n-ccd7741d63be9da9fe860a91",
    "provenance": "live",
    "display_name": "Correct at a long price",
    "rule_href": "/titles/x-01-correct-at-a-long-price/"
   }
  ],
  "history": []
 },
 "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": 16,
    "above": 0,
    "above_share_percent": "0.0",
    "below": 0,
    "within": 16,
    "median_difference_percent": "1.4",
    "not_comparable": 0,
    "disputed": 0,
    "status": "calculated"
   }
  ],
  "examples": [],
  "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/cambuur-vs-psv-eindhoven-prediction-08-11-2026/"
  },
  "observed_from": "2026-09-28",
  "observed_to": "2026-11-07",
  "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": 18,
  "matches": 10,
  "void": 0,
  "net_points_hundredths": -26580,
  "staked_hundredths": 180000,
  "return_percent": "-14.77",
  "stake_per_pick_hundredths": 10000,
  "period_from": "2026-09-30",
  "period_to": "2026-11-05",
  "status": "calculated",
  "method_version": "2.2",
  "short_history": true,
  "reason": null,
  "reasons": [],
  "sentence": "Forecast Record recorded 18 settled live picks by Joshua Ojele before kick-off across 10 matches between 30 September and 5 November 2026. At our recorded market prices these picks returned −14.8% on the total staked. Of the 121 predictions we hold for Joshua Ojele, 75 are linked to matches: 75 were recorded by us before kick-off. Figures as of 7 November 2026.",
  "numbers": [
   {
    "label": "Settled live picks",
    "value": "18",
    "anchor": "/methodology/#settled-pick",
    "note": null
   },
   {
    "label": "Matches",
    "value": "10",
    "anchor": "/methodology/#match",
    "note": null
   },
   {
    "label": "Net result",
    "value": "−265.80 points",
    "anchor": "/methodology/#settlement",
    "note": "100 points per pick"
   },
   {
    "label": "Return at our recorded market price",
    "value": "−14.8%",
    "anchor": "/methodology/#roi",
    "note": "95% interval −59.2% to +28.4%"
   }
  ],
  "limitations": [
   "This page combines Joshua Ojele across 2 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 Ojele publishes”."
  ],
  "other_series": [],
  "return_over_time": [
   {
    "date": "2026-09-30",
    "cumulative_points_hundredths": 11681,
    "n": 2
   },
   {
    "date": "2026-10-10",
    "cumulative_points_hundredths": 25286,
    "n": 7
   },
   {
    "date": "2026-10-24",
    "cumulative_points_hundredths": 5286,
    "n": 9
   },
   {
    "date": "2026-10-25",
    "cumulative_points_hundredths": 23420,
    "n": 13
   },
   {
    "date": "2026-10-30",
    "cumulative_points_hundredths": 3420,
    "n": 15
   },
   {
    "date": "2026-10-31",
    "cumulative_points_hundredths": -6580,
    "n": 16
   },
   {
    "date": "2026-11-05",
    "cumulative_points_hundredths": -26580,
    "n": 18
   }
  ],
  "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": 18,
    "matches": 10,
    "match_dates": 7,
    "period_from": "2026-09-30",
    "period_to": "2026-11-05",
    "stake_per_pick_hundredths": 10000,
    "final_points_hundredths": -26580,
    "low": {
     "date": "2026-11-05",
     "cumulative_points_hundredths": -26580,
     "after_picks": 18
    },
    "high": {
     "date": "2026-10-10",
     "cumulative_points_hundredths": 25286,
     "after_picks": 7
    },
    "line_drawn": true,
    "steps": [
     {
      "date": "2026-09-30",
      "cumulative_points_hundredths": 11681,
      "n": 2,
      "picks": 2
     },
     {
      "date": "2026-10-10",
      "cumulative_points_hundredths": 25286,
      "n": 7,
      "picks": 5
     },
     {
      "date": "2026-10-24",
      "cumulative_points_hundredths": 5286,
      "n": 9,
      "picks": 2
     },
     {
      "date": "2026-10-25",
      "cumulative_points_hundredths": 23420,
      "n": 13,
      "picks": 4
     },
     {
      "date": "2026-10-30",
      "cumulative_points_hundredths": 3420,
      "n": 15,
      "picks": 2
     },
     {
      "date": "2026-10-31",
      "cumulative_points_hundredths": -6580,
      "n": 16,
      "picks": 1
     },
     {
      "date": "2026-11-05",
      "cumulative_points_hundredths": -26580,
      "n": 18,
      "picks": 2
     }
    ]
   },
   "archived": null
  },
  "author_response": null,
  "cite": {
   "text": "Forecast Record recorded 18 settled live picks by Joshua Ojele before kick-off across 10 matches between 30 September and 5 November 2026. At our recorded market prices these picks returned −14.8% on the total staked. Of the 121 predictions we hold for Joshua Ojele, 75 are linked to matches: 75 were recorded by us before kick-off. Figures as of 7 November 2026.",
   "url": "https://forecastrecord.com/authors/joshua-ojele/",
   "data_as_of": "2026-11-07",
   "method_version": "2.2"
  },
  "origin": {
   "contract_version": "1",
   "predictions": 121,
   "under_review": 0,
   "no_match_linked": 46,
   "proven_predictions": 75,
   "proven_checked": 71,
   "proven_measured": 27,
   "proven_dates": 16,
   "parts": [
    {
     "code": "live",
     "title": "Recorded before kick-off",
     "explanation": "Saved by us from the source before kick-off.",
     "predictions": 75,
     "checked": 71,
     "price_rule": "Return at our recorded market price",
     "series_code": "market_price",
     "main": {
      "settled_picks": 18,
      "void": 0,
      "matches": 10,
      "net_points_hundredths": -26580,
      "staked_hundredths": 180000,
      "return_percent": "-14.77",
      "interval_low": "-59.22",
      "interval_high": "28.37",
      "interval_note": null,
      "period_from": "2026-09-30",
      "period_to": "2026-11-05",
      "method_version": "2.2",
      "snapshot_delay_median_hours": "0.0",
      "snapshot_delay_max_hours": "1.3",
      "checked_after_kickoff_picks": 12
     },
     "same_picks": [
      {
       "price": "Author-quoted price",
       "series_code": "author_price",
       "picks": 16,
       "return_main_percent": "-24.99",
       "return_other_percent": "-24.50",
       "settled_excluding_void": 16,
       "net_main_points_hundredths": -39985,
       "net_other_points_hundredths": -39200,
       "period_from": "2026-09-30",
       "period_to": "2026-11-05"
      },
      {
       "price": "Closing price",
       "series_code": "closing_live",
       "picks": 11,
       "return_main_percent": "-15.99",
       "return_other_percent": "-15.77",
       "settled_excluding_void": 11,
       "net_main_points_hundredths": -17587,
       "net_other_points_hundredths": -17344,
       "period_from": "2026-09-30",
       "period_to": "2026-11-05"
      }
     ],
     "score": {
      "score_forecasts": 9,
      "exact_hits": 1,
      "exact_rate": 11.1,
      "outcome_checked": 9,
      "outcome_hits": 4,
      "outcome_rate": 44.4,
      "baseline_matches": 7,
      "baseline_distinct_matches": 7,
      "outcome_hits_on_baseline": 3,
      "outcome_rate_on_baseline": 42.9,
      "favourite_hits": 4,
      "favourite_rate": 57.1,
      "price_basis": "our pre-match snapshot",
      "pending": 4,
      "void": 0,
      "recorded_after_kickoff": 0,
      "lines": [
       "Outcome checked. No betting return is attributed to these score forecasts.",
       "1 of 9 score forecasts named the exact score.",
       "The result implied by the named score was right in 3 of 7 matches; the market favourite was right in 4 of the same 7 matches.",
       "A pre-match market favourite is known for 7 of 9 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": 71,
      "priced": 18
     },
     "accuracy": {
      "picks": 18,
      "won": 10,
      "won_percent": "55.6",
      "implied_percent": "62.6",
      "left_out": 0,
      "by_market": [
       {
        "market": "Over/under goals",
        "won": 3,
        "picks": 7,
        "implied_percent": "66.7"
       },
       {
        "market": "Both teams to score",
        "won": 3,
        "picks": 5,
        "implied_percent": "65.2"
       },
       {
        "market": "Match result",
        "won": 3,
        "picks": 3,
        "implied_percent": "67.5"
       },
       {
        "market": "Result and both teams to score",
        "won": 0,
        "picks": 2,
        "implied_percent": "37.2"
       },
       {
        "market": "Double chance",
        "won": 1,
        "picks": 1,
        "implied_percent": "56.7"
       }
      ]
     },
     "reviewed_after": {
      "predictions": 32,
      "right": 11,
      "wrong": 21,
      "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-045131a469d0ac3fe0ac78f0",
   "n-1383406545198b7b266ced7f",
   "n-1d0c2c994b9b6a021354c402",
   "n-2e7c6cea8514ad6d8eed23a1",
   "n-2f9d005ce4feeffd458f9037",
   "n-3655d06dac2f582b19899eec",
   "n-3a24e913c4e83a7d532028f0",
   "n-40a113be7cfccb2b907680ab",
   "n-51ff381c2ad9d3a622a1dd5b",
   "n-6703482ec4895e9ece9be2f0",
   "n-8394ba5253c0286cfa6e1e95",
   "n-8e6dfb3141894245eca1f82e",
   "n-9f6bd1667ae0d48b6acf037c",
   "n-c3d4fd0ad62032033c5fe95c",
   "n-cb8d7ac1ed71c067059f3371",
   "n-d05530df3be24280209721e1",
   "n-ebe3123e1884f71b89c65125",
   "n-ef867dffe9b60c8c12454ef5"
  ],
  "interval_low": "-59.22",
  "interval_high": "28.37",
  "caption": "Recorded before kick-off, at our recorded market price · 100 points per pick · 30 September – 5 November 2026 · Calculated · picks settled under method v2.2",
  "record_from": "2026-09-28",
  "record_to": "2026-11-07"
 },
 "recorded_picks": [
  {
   "record_id": "n-6703482ec4895e9ece9be2f0",
   "url": "/authors/joshua-ojele/picks/7/#pick-n-6703482ec4895e9ece9be2f0",
   "match": "Monaco v Nordsjælland",
   "match_url": "/football/matches/monaco-vs-nordsjaelland-2026-11-05/",
   "kickoff": "2026-11-05T20:00:00.000Z",
   "competition": "UEFA Conference League",
   "lead_hours": 37.9,
   "market_code": "both_teams_score_and_result",
   "author_said": "Match result and both teams to score: Monaco win, both teams to score: yes at 2.6",
   "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": "2.6",
   "settled_price": "2.5500",
   "published_at": "2026-11-04T05:57:29.000Z",
   "recorded_at": "2026-11-04T06:04:17.426Z",
   "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-6703482ec4895e9ece9be2f0",
    "quote_text": "making Monaco to win + BTTS – Yes at 8/5 (2.60) the value bet for us.",
    "fragment_from": 4740,
    "fragment_to": 4809,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/monaco-vs-nordsjaelland-prediction-05-11-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "fc236f33fd79c070dfd6240c566cc5ce06fc67c3f81a90645099fa5537aafefd",
     "material_removed": false
    },
    "published_at": "2026-11-04T05:57:29.000Z",
    "detected_at": "2026-11-04T06:04:17.426Z",
    "executed_at": "2026-11-04T06:11:36.064Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-045835f2ee6d",
     "display_name": "Monaco — Nordsjælland",
     "competition_name": "UEFA Conference League",
     "starts_at": "2026-11-05T20:00:00.000Z",
     "url": "/football/matches/monaco-vs-nordsjaelland-2026-11-05/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Match result and both teams to score",
    "outcome_label": "Monaco win, both teams to score: yes",
    "odds_set": {
     "by_author": "2.6",
     "our_snapshot": "2.5500",
     "our_snapshot_at": "2026-11-04T06:04:06.287Z",
     "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-04T05:57:29.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-04T05:57:29.000Z",
     "detected_at": "2026-11-04T06:04:17.426Z",
     "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": "Monaco win, both teams to score: yes",
     "author_odds": "2.6",
     "market_key": "both_teams_score_and_result",
     "choice_key": "1-yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Match result and both teams to score: Monaco win, both teams to score: yes at 2.6"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Monaco 2-0 Nordsjælland."
    },
    "settlements": [
     {
      "operation_id": "fae9b30a2fa612f40378114ca293a734673ed3dcb758723a06dc4b46699821ef",
      "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 both teams to score",
      "choice": "Monaco win, both teams to score: yes",
      "decimal_odds": "2.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-04T06:11:34.444Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "d930925b45f1d30bcf0ddf99c6ebf5113e5c44d3d68d994826bf5d2ea0c321c6",
      "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": "Monaco win, both teams to score: yes",
      "decimal_odds": "2.5500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-04T06:11:36.064Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Joshua Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/monaco-vs-nordsjaelland-prediction-05-11-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Monaco win, both teams to score: yes"
   }
  },
  {
   "record_id": "n-8e6dfb3141894245eca1f82e",
   "url": "/authors/joshua-ojele/picks/7/#pick-n-8e6dfb3141894245eca1f82e",
   "match": "Monaco v Nordsjælland",
   "match_url": "/football/matches/monaco-vs-nordsjaelland-2026-11-05/",
   "kickoff": "2026-11-05T20:00:00.000Z",
   "competition": "UEFA Conference League",
   "lead_hours": 37.9,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 1.57",
   "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.57",
   "settled_price": "1.5700",
   "published_at": "2026-11-04T05:57:29.000Z",
   "recorded_at": "2026-11-04T06:04:17.426Z",
   "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-8e6dfb3141894245eca1f82e",
    "quote_text": "we predict BTTS – Yes at 57/100 (1.57)",
    "fragment_from": 4700,
    "fragment_to": 4738,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/monaco-vs-nordsjaelland-prediction-05-11-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "fc236f33fd79c070dfd6240c566cc5ce06fc67c3f81a90645099fa5537aafefd",
     "material_removed": false
    },
    "published_at": "2026-11-04T05:57:29.000Z",
    "detected_at": "2026-11-04T06:04:17.426Z",
    "executed_at": "2026-11-07T09:28:34.527Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-045835f2ee6d",
     "display_name": "Monaco — Nordsjælland",
     "competition_name": "UEFA Conference League",
     "starts_at": "2026-11-05T20:00:00.000Z",
     "url": "/football/matches/monaco-vs-nordsjaelland-2026-11-05/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "1.57",
     "our_snapshot": "1.5700",
     "our_snapshot_at": "2026-11-04T06:04:06.287Z",
     "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-04T05:57:29.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-04T05:57:29.000Z",
     "detected_at": "2026-11-04T06:04:17.426Z",
     "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": "loss",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Monaco 2-0 Nordsjælland."
    },
    "settlements": [
     {
      "operation_id": "68886e362a513362ae673a712f6e52e72fa121002eac004c4313344a70111225",
      "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": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T09:28:33.930Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "c009ec71a0d1ccd1962987acedb3fc365de0b8e98e7ddbb0a0cbd6a21ad71651",
      "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.5700",
      "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:28:34.527Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Joshua Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/monaco-vs-nordsjaelland-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-f826353fd2fd160db30c4e22",
   "url": "/authors/joshua-ojele/picks/6/#pick-n-f826353fd2fd160db30c4e22",
   "match": "PSV Eindhoven v Willem II Tilburg",
   "match_url": "/football/matches/psv-eindhoven-vs-willem-ii-tilburg-2026-10-31/",
   "kickoff": "2026-10-31T17:45:00.000Z",
   "competition": "Eredivisie",
   "lead_hours": 36.2,
   "market_code": "half_time_full_time",
   "author_said": "Half-time/full-time: PSV Eindhoven at half-time, PSV Eindhoven at full-time at 1.33",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "7-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 3300,
   "series_code": "author_price",
   "series_short": "author's odds",
   "author_price": "1.33",
   "settled_price": "1.33",
   "published_at": "2026-10-30T05:26:40.000Z",
   "recorded_at": "2026-10-30T05:34:20.932Z",
   "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-f826353fd2fd160db30c4e22",
    "quote_text": "HT/FT – 1/1 at 33/100 (1.33) is a favourable punt, with PSV leading at half time in five of their last seven matches",
    "fragment_from": 4840,
    "fragment_to": 4956,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/psv-eindhoven-vs-willem-ii-prediction-31-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "3216a611fdf89892a86e3b08aa0aafc8db4a3f447df5639b57565ea41c960632",
     "material_removed": false
    },
    "published_at": "2026-10-30T05:26:40.000Z",
    "detected_at": "2026-10-30T05:34:20.932Z",
    "executed_at": "2026-11-07T10:19:16.392Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-065425be6294",
     "display_name": "PSV Eindhoven — Willem II Tilburg",
     "competition_name": "Eredivisie",
     "starts_at": "2026-10-31T17:45:00.000Z",
     "url": "/football/matches/psv-eindhoven-vs-willem-ii-tilburg-2026-10-31/",
     "scoreline": "7-0",
     "condition": "finished"
    },
    "market_label": "Half-time/full-time",
    "outcome_label": "PSV Eindhoven at half-time, PSV Eindhoven at full-time",
    "odds_set": {
     "by_author": "1.33",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 3300,
    "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-30T05:26:40.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-30T05:26:40.000Z",
     "detected_at": "2026-10-30T05:34:20.932Z",
     "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": "Half-time/full-time",
     "choice": "PSV Eindhoven at half-time, PSV Eindhoven at full-time",
     "author_odds": "1.33",
     "market_key": "half_time_full_time",
     "choice_key": "1/1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Half-time/full-time: PSV Eindhoven at half-time, PSV Eindhoven at full-time at 1.33"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "7-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was PSV Eindhoven 7-0 Willem II Tilburg."
    },
    "settlements": [
     {
      "operation_id": "32b27eeeee93a8db4ad9a4fa01f8d8a9a6d0f59207cb5a91ee070d7616e678f2",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Half-time/full-time",
      "choice": "PSV Eindhoven at half-time, PSV Eindhoven at full-time",
      "decimal_odds": "1.33",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 3300,
      "executed_at": "2026-11-07T10:19:16.392Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "266ee92966b6133a4d384b32c2603913b5f6a72cfc4fbf9a41b703b4d2cbf608",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Half-time/full-time",
      "choice": "PSV Eindhoven at half-time, PSV Eindhoven at full-time",
      "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 Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/psv-eindhoven-vs-willem-ii-prediction-31-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "PSV Eindhoven at half-time, PSV Eindhoven at full-time"
   }
  },
  {
   "record_id": "n-51ff381c2ad9d3a622a1dd5b",
   "url": "/authors/joshua-ojele/picks/6/#pick-n-51ff381c2ad9d3a622a1dd5b",
   "match": "Feyenoord v Fortuna Sittard",
   "match_url": "/football/matches/feyenoord-vs-fortuna-sittard-2026-10-31/",
   "kickoff": "2026-10-31T15:30:00.000Z",
   "competition": "Eredivisie",
   "lead_hours": 32.9,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 1.28",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "1-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.28",
   "settled_price": "1.2500",
   "published_at": "2026-10-30T06:24:49.000Z",
   "recorded_at": "2026-10-30T06:34:20.165Z",
   "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-51ff381c2ad9d3a622a1dd5b",
    "quote_text": "we fancy over 2.5 goals at 7/25 (1.28)",
    "fragment_from": 5098,
    "fragment_to": 5136,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/feyenoord-vs-fortuna-sittard-prediction-31-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "f6b32a778dc5ee8f0467c84734a2373dfd45fcb203e7028f328d5c619637b81b",
     "material_removed": false
    },
    "published_at": "2026-10-30T06:24:49.000Z",
    "detected_at": "2026-10-30T06:34:20.165Z",
    "executed_at": "2026-11-07T10:18:56.954Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-80bafc0dea3b",
     "display_name": "Feyenoord — Fortuna Sittard",
     "competition_name": "Eredivisie",
     "starts_at": "2026-10-31T15:30:00.000Z",
     "url": "/football/matches/feyenoord-vs-fortuna-sittard-2026-10-31/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": "1.28",
     "our_snapshot": "1.2500",
     "our_snapshot_at": "2026-10-30T06:33:46.896Z",
     "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-30T06:24:49.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-30T06:24:49.000Z",
     "detected_at": "2026-10-30T06:34:20.165Z",
     "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.28",
     "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.28"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Feyenoord 1-1 Fortuna Sittard."
    },
    "settlements": [
     {
      "operation_id": "93777853d023b6387bb6963501184b81f3240166d112889a9e38edc822070036",
      "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.28",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T10:18:53.590Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "57ed6c448f2739bf6af51059ecda7e2315234c6636b58fa0a9c100c1d64cc757",
      "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.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-07T10:18:56.954Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Joshua Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/feyenoord-vs-fortuna-sittard-prediction-31-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-9f6bd1667ae0d48b6acf037c",
   "url": "/authors/joshua-ojele/picks/5/#pick-n-9f6bd1667ae0d48b6acf037c",
   "match": "Casa Pia v Sporting CP",
   "match_url": "/football/matches/casa-pia-vs-sporting-cp-2026-10-30/",
   "kickoff": "2026-10-30T20:15:00.000Z",
   "competition": "Primeira Liga",
   "lead_hours": 38.4,
   "market_code": "both_teams_score_and_result",
   "author_said": "Match result and both teams to score: Sporting CP win, both teams to score: yes at 2.87",
   "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.87",
   "settled_price": "2.8350",
   "published_at": "2026-10-29T05:46:24.000Z",
   "recorded_at": "2026-10-29T05:51:43.201Z",
   "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-9f6bd1667ae0d48b6acf037c",
    "quote_text": "With both sides scoring in seven of the Leoes’ last eight games, Sporting to win + BTTS – Yes at 187/100 (2.87) serves as the value bet for us",
    "fragment_from": 5448,
    "fragment_to": 5590,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/casa-pia-vs-sporting-cp-prediction-30-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "9bb0c1599b93f901679e36624c41b45f0a52aaf22227b74d461cf1122bdf9dcb",
     "material_removed": false
    },
    "published_at": "2026-10-29T05:46:24.000Z",
    "detected_at": "2026-10-29T05:51:43.201Z",
    "executed_at": "2026-10-30T13:06:50.727Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-901bd676fe3a",
     "display_name": "Casa Pia — Sporting CP",
     "competition_name": "Primeira Liga",
     "starts_at": "2026-10-30T20:15:00.000Z",
     "url": "/football/matches/casa-pia-vs-sporting-cp-2026-10-30/",
     "scoreline": "0-2",
     "condition": "finished"
    },
    "market_label": "Match result and both teams to score",
    "outcome_label": "Sporting CP win, both teams to score: yes",
    "odds_set": {
     "by_author": "2.87",
     "our_snapshot": "2.8350",
     "our_snapshot_at": "2026-10-29T05:48:47.160Z",
     "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-29T05:46:24.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-29T05:46:24.000Z",
     "detected_at": "2026-10-29T05:51:43.201Z",
     "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": "Sporting CP win, both teams to score: yes",
     "author_odds": "2.87",
     "market_key": "both_teams_score_and_result",
     "choice_key": "2-yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Match result and both teams to score: Sporting CP win, both teams to score: yes at 2.87"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Casa Pia 0-2 Sporting CP."
    },
    "settlements": [
     {
      "operation_id": "3d05bb194d9651d50fe2a0dce8baf1fc52093400d4cae4fe5dc37356348b296e",
      "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 both teams to score",
      "choice": "Sporting CP win, both teams to score: yes",
      "decimal_odds": "2.87",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-30T13:06:50.156Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "51383430dbcf6b192891a44238a24d2f39c63ad49d6dd966814fff4f0078bf95",
      "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": "Sporting CP win, both teams to score: yes",
      "decimal_odds": "2.8350",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-30T13:06:50.727Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Joshua Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/casa-pia-vs-sporting-cp-prediction-30-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Sporting CP win, both teams to score: yes"
   }
  },
  {
   "record_id": "n-40a113be7cfccb2b907680ab",
   "url": "/authors/joshua-ojele/picks/5/#pick-n-40a113be7cfccb2b907680ab",
   "match": "Casa Pia v Sporting CP",
   "match_url": "/football/matches/casa-pia-vs-sporting-cp-2026-10-30/",
   "kickoff": "2026-10-30T20:15:00.000Z",
   "competition": "Primeira Liga",
   "lead_hours": 38.4,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 1.57",
   "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.57",
   "settled_price": "1.5600",
   "published_at": "2026-10-29T05:46:24.000Z",
   "recorded_at": "2026-10-29T05:51:43.201Z",
   "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.5600",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-40a113be7cfccb2b907680ab",
    "quote_text": "over 2.5 goals at 57/100 (1.57) is our third pick of the game.",
    "fragment_from": 5384,
    "fragment_to": 5446,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/casa-pia-vs-sporting-cp-prediction-30-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "9bb0c1599b93f901679e36624c41b45f0a52aaf22227b74d461cf1122bdf9dcb",
     "material_removed": false
    },
    "published_at": "2026-10-29T05:46:24.000Z",
    "detected_at": "2026-10-29T05:51:43.201Z",
    "executed_at": "2026-10-30T13:06:49.930Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-901bd676fe3a",
     "display_name": "Casa Pia — Sporting CP",
     "competition_name": "Primeira Liga",
     "starts_at": "2026-10-30T20:15:00.000Z",
     "url": "/football/matches/casa-pia-vs-sporting-cp-2026-10-30/",
     "scoreline": "0-2",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": "1.57",
     "our_snapshot": "1.5600",
     "our_snapshot_at": "2026-10-29T05:48:47.160Z",
     "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-29T05:46:24.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-29T05:46:24.000Z",
     "detected_at": "2026-10-29T05:51:43.201Z",
     "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.57",
     "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.57"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Casa Pia 0-2 Sporting CP."
    },
    "settlements": [
     {
      "operation_id": "a9b7892b21ae5d1910a4d3b9c5c01abb22fba0986083463b391987b82f78f4da",
      "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.57",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-30T13:06:48.534Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "bbac8faa98e257daa6ac193366d61f5b8dadcfb1d23688ae63d127aa35bc50e7",
      "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.5600",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-30T13:06:49.930Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Joshua Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/casa-pia-vs-sporting-cp-prediction-30-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-16445903202c880718196b9f",
   "url": "/authors/joshua-ojele/picks/5/#pick-n-16445903202c880718196b9f",
   "match": "Casa Pia v Sporting CP",
   "match_url": "/football/matches/casa-pia-vs-sporting-cp-2026-10-30/",
   "kickoff": "2026-10-30T20:15:00.000Z",
   "competition": "Primeira Liga",
   "lead_hours": 38.4,
   "market_code": "half_time_full_time",
   "author_said": "Half-time/full-time: Sporting CP at half-time, Sporting CP at full-time at 1.8",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "0-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 8000,
   "series_code": "author_price",
   "series_short": "author's odds",
   "author_price": "1.8",
   "settled_price": "1.8",
   "published_at": "2026-10-29T05:46:24.000Z",
   "recorded_at": "2026-10-29T05:51:43.201Z",
   "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-16445903202c880718196b9f",
    "quote_text": "Sporting CP have led at half time in their last six games against Casa Pia, making HT/FT – 2/2 at 4/5 (1.80) a favourable punt",
    "fragment_from": 5250,
    "fragment_to": 5376,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/casa-pia-vs-sporting-cp-prediction-30-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "9bb0c1599b93f901679e36624c41b45f0a52aaf22227b74d461cf1122bdf9dcb",
     "material_removed": false
    },
    "published_at": "2026-10-29T05:46:24.000Z",
    "detected_at": "2026-10-29T05:51:43.201Z",
    "executed_at": "2026-11-07T10:39:03.809Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-901bd676fe3a",
     "display_name": "Casa Pia — Sporting CP",
     "competition_name": "Primeira Liga",
     "starts_at": "2026-10-30T20:15:00.000Z",
     "url": "/football/matches/casa-pia-vs-sporting-cp-2026-10-30/",
     "scoreline": "0-2",
     "condition": "finished"
    },
    "market_label": "Half-time/full-time",
    "outcome_label": "Sporting CP at half-time, Sporting CP at full-time",
    "odds_set": {
     "by_author": "1.8",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 8000,
    "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-29T05:46:24.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-29T05:46:24.000Z",
     "detected_at": "2026-10-29T05:51:43.201Z",
     "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": "Half-time/full-time",
     "choice": "Sporting CP at half-time, Sporting CP at full-time",
     "author_odds": "1.8",
     "market_key": "half_time_full_time",
     "choice_key": "2/2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Half-time/full-time: Sporting CP at half-time, Sporting CP at full-time at 1.8"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "0-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Casa Pia 0-2 Sporting CP."
    },
    "settlements": [
     {
      "operation_id": "8df51988cc917bd19efd22073934c17410dfc31ce9b45a97c3946a0497d95ab0",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Half-time/full-time",
      "choice": "Sporting CP at half-time, Sporting CP at full-time",
      "decimal_odds": "1.8",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 8000,
      "executed_at": "2026-11-07T10:39:03.809Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "e104ba40e24c73edbc13c675dddfbb04069371e7f2134c2af16fde11b6a0d85a",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Half-time/full-time",
      "choice": "Sporting CP at half-time, Sporting CP at full-time",
      "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 Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/casa-pia-vs-sporting-cp-prediction-30-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Sporting CP at half-time, Sporting CP at full-time"
   }
  },
  {
   "record_id": "n-2f9d005ce4feeffd458f9037",
   "url": "/authors/joshua-ojele/picks/5/#pick-n-2f9d005ce4feeffd458f9037",
   "match": "Sparta Rotterdam v AFC Ajax",
   "match_url": "/football/matches/sparta-rotterdam-vs-afc-ajax-2026-10-25/",
   "kickoff": "2026-10-25T15:45:00.000Z",
   "competition": "Eredivisie",
   "lead_hours": 34.0,
   "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": "1-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 4400,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.5",
   "settled_price": "1.4400",
   "published_at": "2026-10-24T05:34:37.000Z",
   "recorded_at": "2026-10-24T05:44:17.473Z",
   "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-2f9d005ce4feeffd458f9037",
    "quote_text": "We also fancy BTTS – Yes at 1/2 (1.50)",
    "fragment_from": 4576,
    "fragment_to": 4614,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/sparta-rotterdam-vs-ajax-prediction-25-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "ed343dd35ee41d02d53dfc0b7b373f7322403a06c4fb2acdb3dfb9af5849b9c2",
     "material_removed": false
    },
    "published_at": "2026-10-24T05:34:37.000Z",
    "detected_at": "2026-10-24T05:44:17.473Z",
    "executed_at": "2026-11-07T12:03:11.756Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-2f7a600f8a8b",
     "display_name": "Sparta Rotterdam — AFC Ajax",
     "competition_name": "Eredivisie",
     "starts_at": "2026-10-25T15:45:00.000Z",
     "url": "/football/matches/sparta-rotterdam-vs-afc-ajax-2026-10-25/",
     "scoreline": "1-2",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "1.5",
     "our_snapshot": "1.4400",
     "our_snapshot_at": "2026-10-24T05:43:56.156Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 4400,
    "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-24T05:34:37.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-24T05:34:37.000Z",
     "detected_at": "2026-10-24T05:44:17.473Z",
     "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": "1-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Sparta Rotterdam 1-2 AFC Ajax."
    },
    "settlements": [
     {
      "operation_id": "1a012cf99adade1887e0b014233ab84ef0659649ce671ad32818a3e98b505ff6",
      "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-11-07T12:03:10.188Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "af3489db601baf9b0d4f0513eca35bffa54b0cd349273eaa2370eddbb5c2d494",
      "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.4400",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 4400,
      "executed_at": "2026-11-07T12:03:11.756Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Joshua Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/sparta-rotterdam-vs-ajax-prediction-25-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-8394ba5253c0286cfa6e1e95",
   "url": "/authors/joshua-ojele/picks/5/#pick-n-8394ba5253c0286cfa6e1e95",
   "match": "Sparta Rotterdam v AFC Ajax",
   "match_url": "/football/matches/sparta-rotterdam-vs-afc-ajax-2026-10-25/",
   "kickoff": "2026-10-25T15:45:00.000Z",
   "competition": "Eredivisie",
   "lead_hours": 34.0,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 1.36",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "1-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 3400,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.36",
   "settled_price": "1.3400",
   "published_at": "2026-10-24T05:34:37.000Z",
   "recorded_at": "2026-10-24T05:44:17.473Z",
   "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-8394ba5253c0286cfa6e1e95",
    "quote_text": "making over 2.5 goals at 9/25 (1.36) a favourable punt",
    "fragment_from": 4454,
    "fragment_to": 4508,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/sparta-rotterdam-vs-ajax-prediction-25-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "ed343dd35ee41d02d53dfc0b7b373f7322403a06c4fb2acdb3dfb9af5849b9c2",
     "material_removed": false
    },
    "published_at": "2026-10-24T05:34:37.000Z",
    "detected_at": "2026-10-24T05:44:17.473Z",
    "executed_at": "2026-11-07T12:03:10.144Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-2f7a600f8a8b",
     "display_name": "Sparta Rotterdam — AFC Ajax",
     "competition_name": "Eredivisie",
     "starts_at": "2026-10-25T15:45:00.000Z",
     "url": "/football/matches/sparta-rotterdam-vs-afc-ajax-2026-10-25/",
     "scoreline": "1-2",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": "1.36",
     "our_snapshot": "1.3400",
     "our_snapshot_at": "2026-10-24T05:43:56.156Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 3400,
    "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-24T05:34:37.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-24T05:34:37.000Z",
     "detected_at": "2026-10-24T05:44:17.473Z",
     "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.36",
     "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.36"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Sparta Rotterdam 1-2 AFC Ajax."
    },
    "settlements": [
     {
      "operation_id": "85ccfdab9e6fae28f0261a4bd0e097ae19df929bdd4d8d5872678e5aa8ae5e37",
      "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.36",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 3600,
      "executed_at": "2026-11-07T12:03:08.511Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "4b22d4da706daa2cd059499199c0942a80e8e9d6ca5dea41a98442098518251d",
      "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.3400",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 3400,
      "executed_at": "2026-11-07T12:03:10.144Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Joshua Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/sparta-rotterdam-vs-ajax-prediction-25-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-2e7c6cea8514ad6d8eed23a1",
   "url": "/authors/joshua-ojele/picks/5/#pick-n-2e7c6cea8514ad6d8eed23a1",
   "match": "PSV Eindhoven v Feyenoord",
   "match_url": "/football/matches/psv-eindhoven-vs-feyenoord-2026-10-25/",
   "kickoff": "2026-10-25T13:30:00.000Z",
   "competition": "Eredivisie",
   "lead_hours": 33.1,
   "market_code": "double_chance",
   "author_said": "Double chance: draw or Feyenoord at 1.8",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "1-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 7634,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.8",
   "settled_price": "1.7634",
   "published_at": "2026-10-24T04:11:35.000Z",
   "recorded_at": "2026-10-24T04:24:26.319Z",
   "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-2e7c6cea8514ad6d8eed23a1",
    "quote_text": "Double Chance – Draw or Feyenoord at 4/5 (1.80) is the low-risk value bet for us",
    "fragment_from": 5457,
    "fragment_to": 5537,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/psv-eindhoven-vs-feyenoord-prediction-25-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "a9f1aabccfee05dc62aa924f094fe8f5e7f6ebb613a30f31caf2f8a7b326ccde",
     "material_removed": false
    },
    "published_at": "2026-10-24T04:11:35.000Z",
    "detected_at": "2026-10-24T04:24:26.319Z",
    "executed_at": "2026-10-25T13:13:15.125Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-63c4f1691fb8",
     "display_name": "PSV Eindhoven — Feyenoord",
     "competition_name": "Eredivisie",
     "starts_at": "2026-10-25T13:30:00.000Z",
     "url": "/football/matches/psv-eindhoven-vs-feyenoord-2026-10-25/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Double chance",
    "outcome_label": "draw or Feyenoord",
    "odds_set": {
     "by_author": "1.8",
     "our_snapshot": "1.7634",
     "our_snapshot_at": "2026-10-24T04:20:46.746Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 7634,
    "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-24T04:11:35.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-24T04:11:35.000Z",
     "detected_at": "2026-10-24T04:24:26.319Z",
     "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 Feyenoord",
     "author_odds": "1.8",
     "market_key": "double_chance",
     "choice_key": "X2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Double chance: draw or Feyenoord at 1.8"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was PSV Eindhoven 1-1 Feyenoord."
    },
    "settlements": [
     {
      "operation_id": "2a43cfd89004782d1c2ddeb277c0389d58282ea4612f49f53622a6e0eb37b5b6",
      "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 Feyenoord",
      "decimal_odds": "1.8",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 8000,
      "executed_at": "2026-10-25T13:13:10.688Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "9201eaa87674d651c32d1c7800b064c35a1f2dc8fc6da8c2653373e6d5b52f36",
      "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 Feyenoord",
      "decimal_odds": "1.7634",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 7634,
      "executed_at": "2026-10-25T13:13:15.125Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Joshua Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/psv-eindhoven-vs-feyenoord-prediction-25-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "draw or Feyenoord"
   }
  },
  {
   "record_id": "n-3a24e913c4e83a7d532028f0",
   "url": "/authors/joshua-ojele/picks/5/#pick-n-3a24e913c4e83a7d532028f0",
   "match": "PSV Eindhoven v Feyenoord",
   "match_url": "/football/matches/psv-eindhoven-vs-feyenoord-2026-10-25/",
   "kickoff": "2026-10-25T13:30:00.000Z",
   "competition": "Eredivisie",
   "lead_hours": 33.1,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 1.3",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "1-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 2700,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.3",
   "settled_price": "1.2700",
   "published_at": "2026-10-24T04:11:35.000Z",
   "recorded_at": "2026-10-24T04:24:26.319Z",
   "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-3a24e913c4e83a7d532028f0",
    "quote_text": "making BTTS – Yes at 3/10 (1.30) another favourable option",
    "fragment_from": 5391,
    "fragment_to": 5449,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/psv-eindhoven-vs-feyenoord-prediction-25-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "a9f1aabccfee05dc62aa924f094fe8f5e7f6ebb613a30f31caf2f8a7b326ccde",
     "material_removed": false
    },
    "published_at": "2026-10-24T04:11:35.000Z",
    "detected_at": "2026-10-24T04:24:26.319Z",
    "executed_at": "2026-11-07T12:03:44.010Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-63c4f1691fb8",
     "display_name": "PSV Eindhoven — Feyenoord",
     "competition_name": "Eredivisie",
     "starts_at": "2026-10-25T13:30:00.000Z",
     "url": "/football/matches/psv-eindhoven-vs-feyenoord-2026-10-25/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "1.3",
     "our_snapshot": "1.2700",
     "our_snapshot_at": "2026-10-24T04:22:57.490Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 2700,
    "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-24T04:11:35.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-24T04:11:35.000Z",
     "detected_at": "2026-10-24T04:24:26.319Z",
     "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.3",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 1.3"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was PSV Eindhoven 1-1 Feyenoord."
    },
    "settlements": [
     {
      "operation_id": "236407024e9db3a61f8980935208ec3c2a317c273ea8f598b00be32c8b7e8542",
      "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.3",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 3000,
      "executed_at": "2026-11-07T12:03:42.928Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "39b761e3bc25683ffb76ecb3a0cab0ad1667fcb2e6031d867ae1c8f0410c3ace",
      "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.2700",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 2700,
      "executed_at": "2026-11-07T12:03:44.010Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Joshua Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/psv-eindhoven-vs-feyenoord-prediction-25-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-1383406545198b7b266ced7f",
   "url": "/authors/joshua-ojele/picks/5/#pick-n-1383406545198b7b266ced7f",
   "match": "Gil Vicente v FC Porto",
   "match_url": "/football/matches/gil-vicente-vs-fc-porto-2026-10-24/",
   "kickoff": "2026-10-24T19:30:00.000Z",
   "competition": "Primeira Liga",
   "lead_hours": 38.4,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 1.85",
   "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.85",
   "settled_price": "1.8200",
   "published_at": "2026-10-23T04:54:02.000Z",
   "recorded_at": "2026-10-23T05:04:17.221Z",
   "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-1383406545198b7b266ced7f",
    "quote_text": "Over 2.5 goals – Yes at 17/20 (1.85)",
    "fragment_from": 5093,
    "fragment_to": 5129,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/gil-vicente-vs-porto-prediction-24-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "ed1358477f94e724b9e897d03e8c99ec9cae2a472ae5654cdb71888fd417bedf",
     "material_removed": false
    },
    "published_at": "2026-10-23T04:54:02.000Z",
    "detected_at": "2026-10-23T05:04:17.221Z",
    "executed_at": "2026-10-23T06:46:02.548Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-63275223a897",
     "display_name": "Gil Vicente — FC Porto",
     "competition_name": "Primeira Liga",
     "starts_at": "2026-10-24T19:30:00.000Z",
     "url": "/football/matches/gil-vicente-vs-fc-porto-2026-10-24/",
     "scoreline": "0-1",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": "1.85",
     "our_snapshot": "1.8200",
     "our_snapshot_at": "2026-10-23T05:07:27.765Z",
     "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-23T04:54:02.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-23T04:54:02.000Z",
     "detected_at": "2026-10-23T05:04:17.221Z",
     "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.85",
     "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.85"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Gil Vicente 0-1 FC Porto."
    },
    "settlements": [
     {
      "operation_id": "8b2e2a2f410965d5fb1f39ceb7a1ae519ea0ab3b746660d4fd8bead7fda88824",
      "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.85",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-23T06:46:00.548Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "cb16295f66695daf523a3b182eb5fb2ae7fcd97914f320595b2a42ae01d81edc",
      "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.8200",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-23T06:46:02.548Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Joshua Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/gil-vicente-vs-porto-prediction-24-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-c3d4fd0ad62032033c5fe95c",
   "url": "/authors/joshua-ojele/picks/5/#pick-n-c3d4fd0ad62032033c5fe95c",
   "match": "Gil Vicente v FC Porto",
   "match_url": "/football/matches/gil-vicente-vs-fc-porto-2026-10-24/",
   "kickoff": "2026-10-24T19:30:00.000Z",
   "competition": "Primeira Liga",
   "lead_hours": 38.4,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 2",
   "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",
   "settled_price": "2.0250",
   "published_at": "2026-10-23T04:54:02.000Z",
   "recorded_at": "2026-10-23T05:04:17.221Z",
   "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.6950",
    "result": "Won",
    "points_hundredths": 6950,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-c3d4fd0ad62032033c5fe95c",
    "quote_text": "BTTS – Yes at 1/1 (2.00)",
    "fragment_from": 4923,
    "fragment_to": 4947,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/gil-vicente-vs-porto-prediction-24-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "ed1358477f94e724b9e897d03e8c99ec9cae2a472ae5654cdb71888fd417bedf",
     "material_removed": false
    },
    "published_at": "2026-10-23T04:54:02.000Z",
    "detected_at": "2026-10-23T05:04:17.221Z",
    "executed_at": "2026-10-23T06:46:00.522Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-63275223a897",
     "display_name": "Gil Vicente — FC Porto",
     "competition_name": "Primeira Liga",
     "starts_at": "2026-10-24T19:30:00.000Z",
     "url": "/football/matches/gil-vicente-vs-fc-porto-2026-10-24/",
     "scoreline": "0-1",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "2",
     "our_snapshot": "2.0250",
     "our_snapshot_at": "2026-10-23T05:02:08.169Z",
     "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-23T04:54:02.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-23T04:54:02.000Z",
     "detected_at": "2026-10-23T05:04:17.221Z",
     "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": "2",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 2"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Gil Vicente 0-1 FC Porto."
    },
    "settlements": [
     {
      "operation_id": "e768cc8ae2c197e00b5362a0d12fc8e922fcad59466d77eda5b6a7166f003904",
      "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": "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-23T06:45:59.060Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "73887163075477526f6fff84318ef2465972ce12ef3e0f66f9f6e671955f1e6d",
      "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": "2.0250",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-23T06:46:00.522Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Joshua Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/gil-vicente-vs-porto-prediction-24-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-2b24af3becc0b764cea0856e",
   "url": "/authors/joshua-ojele/picks/4/#pick-n-2b24af3becc0b764cea0856e",
   "match": "Monaco v SC Freiburg",
   "match_url": "/football/matches/monaco-vs-sc-freiburg-2026-10-22/",
   "kickoff": "2026-10-22T19:00:00.000Z",
   "competition": "UEFA Conference League",
   "lead_hours": 36.3,
   "market_code": "1x2",
   "author_said": "1X2, match result: Monaco at 2.2",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "3-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 12000,
   "series_code": "author_price",
   "series_short": "author's odds",
   "author_price": "2.2",
   "settled_price": "2.2",
   "published_at": "2026-10-21T06:35:16.000Z",
   "recorded_at": "2026-10-21T06:44:17.235Z",
   "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-2b24af3becc0b764cea0856e",
    "quote_text": "Match result – Monaco to win at 6/5 (2.20)",
    "fragment_from": 4998,
    "fragment_to": 5040,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/monaco-vs-freiburg-prediction-22-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "9ceb01db3d0b0cb07ca674591c9079fd8ab73c742d6ba25be535754a71db16fd",
     "material_removed": false
    },
    "published_at": "2026-10-21T06:35:16.000Z",
    "detected_at": "2026-10-21T06:44:17.235Z",
    "executed_at": "2026-10-23T00:45:49.652Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-1215c796ece7",
     "display_name": "Monaco — SC Freiburg",
     "competition_name": "UEFA Conference League",
     "starts_at": "2026-10-22T19:00:00.000Z",
     "url": "/football/matches/monaco-vs-sc-freiburg-2026-10-22/",
     "scoreline": "3-0",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Monaco",
    "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": "win",
    "simulation_change_hundredths": 12000,
    "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-21T06:35:16.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-21T06:35:16.000Z",
     "detected_at": "2026-10-21T06:44:17.235Z",
     "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": "Monaco",
     "author_odds": "2.2",
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Monaco at 2.2"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "3-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Monaco 3-0 SC Freiburg."
    },
    "settlements": [
     {
      "operation_id": "a3cc7af7b2492a998a877a168d2ab3b2ef55f21bff900ec146d1f8801c8730eb",
      "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": "Monaco",
      "decimal_odds": "2.2",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 12000,
      "executed_at": "2026-10-23T00:45:49.652Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "7959410a2df9db4c617253aca85da4c17a303986a1208f733a9cdb2efaeab8eb",
      "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": "Monaco",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Joshua Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/monaco-vs-freiburg-prediction-22-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Monaco to win"
   }
  },
  {
   "record_id": "n-b096fcaabe86bfe7336919b4",
   "url": "/authors/joshua-ojele/picks/4/#pick-n-b096fcaabe86bfe7336919b4",
   "match": "AFC Ajax v Atalanta",
   "match_url": "/football/matches/afc-ajax-vs-atalanta-2026-10-22/",
   "kickoff": "2026-10-22T19:00:00.000Z",
   "competition": "UEFA Conference League",
   "lead_hours": 37.1,
   "market_code": "both_teams_score_and_result",
   "author_said": "Match result and both teams to score: AFC Ajax win, both teams to score: yes at 3.6",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "author_price",
   "series_short": "author's odds",
   "author_price": "3.6",
   "settled_price": "3.6",
   "published_at": "2026-10-21T05:47:11.000Z",
   "recorded_at": "2026-10-21T05:54:17.163Z",
   "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-b096fcaabe86bfe7336919b4",
    "quote_text": "Ajax to win + BTTS – Yes currently sits at 13/5 (3.60)",
    "fragment_from": 5067,
    "fragment_to": 5121,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/ajax-vs-atalanta-prediction-22-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "720535857961e9ad0d86118451421ccefe8f37a3a8803d3616c8c2fba827d28a",
     "material_removed": false
    },
    "published_at": "2026-10-21T05:47:11.000Z",
    "detected_at": "2026-10-21T05:54:17.163Z",
    "executed_at": "2026-10-23T00:46:06.073Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-c68b1684a6b4",
     "display_name": "AFC Ajax — Atalanta",
     "competition_name": "UEFA Conference League",
     "starts_at": "2026-10-22T19:00:00.000Z",
     "url": "/football/matches/afc-ajax-vs-atalanta-2026-10-22/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Match result and both teams to score",
    "outcome_label": "AFC Ajax win, both teams to score: yes",
    "odds_set": {
     "by_author": "3.6",
     "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-21T05:47:11.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-21T05:47:11.000Z",
     "detected_at": "2026-10-21T05:54:17.163Z",
     "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": "AFC Ajax win, both teams to score: yes",
     "author_odds": "3.6",
     "market_key": "both_teams_score_and_result",
     "choice_key": "1-yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Match result and both teams to score: AFC Ajax win, both teams to score: yes at 3.6"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was AFC Ajax 2-0 Atalanta."
    },
    "settlements": [
     {
      "operation_id": "bd4bcc7e05af46b6c2d3b8cb91d36adba9c1cee1bbb7a05265ec71166fe0d070",
      "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 both teams to score",
      "choice": "AFC Ajax win, both teams to score: yes",
      "decimal_odds": "3.6",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-23T00:46:06.073Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "623ba6b4f634038f3f06e1216bc56ec4b50478660a126e57d04c17a945e0f7cd",
      "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": "AFC Ajax win, 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": "settled_pick",
    "authorship": {
     "material_author": "Joshua Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/ajax-vs-atalanta-prediction-22-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "AFC Ajax win, both teams to score: yes"
   }
  },
  {
   "record_id": "n-bd6b8ec6a0024afd623221e3",
   "url": "/authors/joshua-ojele/picks/3/#pick-n-bd6b8ec6a0024afd623221e3",
   "match": "Benfica v Vitória Guimarães",
   "match_url": "/football/matches/benfica-vs-vitoria-guimaraes-2026-10-11/",
   "kickoff": "2026-10-11T17:00:00.000Z",
   "competition": "Primeira Liga",
   "lead_hours": 43.8,
   "market_code": "both_teams_score_and_result",
   "author_said": "Match result and both teams to score: Benfica win, both teams to score: no at 2",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 10000,
   "series_code": "author_price",
   "series_short": "author's odds",
   "author_price": "2",
   "settled_price": "2",
   "published_at": "2026-10-09T21:03:51.000Z",
   "recorded_at": "2026-10-09T21:12:16.773Z",
   "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-bd6b8ec6a0024afd623221e3",
    "quote_text": "Benfica to win + BTTS – No at 1/1 (2.00) offers value",
    "fragment_from": 4580,
    "fragment_to": 4633,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/benfica-vs-vitoria-guimaraes-prediction-11-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "50aa8a37fdb17b4c5a60206332da97ae3758b43ee19ca1ded27ad1e2e4cf0019",
     "material_removed": false
    },
    "published_at": "2026-10-09T21:03:51.000Z",
    "detected_at": "2026-10-09T21:12:16.773Z",
    "executed_at": "2026-10-09T21:13:41.600Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-ab34e450c302",
     "display_name": "Benfica — Vitória Guimarães",
     "competition_name": "Primeira Liga",
     "starts_at": "2026-10-11T17:00:00.000Z",
     "url": "/football/matches/benfica-vs-vitoria-guimaraes-2026-10-11/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Match result and both teams to score",
    "outcome_label": "Benfica win, both teams to score: no",
    "odds_set": {
     "by_author": "2",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "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-09T21:03:51.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-09T21:03:51.000Z",
     "detected_at": "2026-10-09T21:12:16.773Z",
     "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": "Benfica win, both teams to score: no",
     "author_odds": "2",
     "market_key": "both_teams_score_and_result",
     "choice_key": "1-no",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Match result and both teams to score: Benfica win, both teams to score: no at 2"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Benfica 2-0 Vitória Guimarães."
    },
    "settlements": [
     {
      "operation_id": "e5c052e8442ec217584d30c626aee16b9726b3755a16650b8903b515342a6c47",
      "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 both teams to score",
      "choice": "Benfica win, both teams to score: no",
      "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-09T21:13:41.600Z",
      "methodology_version": "2.1",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "4eef4c466e647a1ca656420dd38aea7d25f46a73e27148eb6984203f98135dd2",
      "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": "Benfica win, both teams to score: no",
      "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 Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/benfica-vs-vitoria-guimaraes-prediction-11-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Benfica win, both teams to score: no"
   }
  },
  {
   "record_id": "n-1c99feb3ccf03c0257ae653d",
   "url": "/authors/joshua-ojele/picks/3/#pick-n-1c99feb3ccf03c0257ae653d",
   "match": "AFC Ajax v NEC Nijmegen",
   "match_url": "/football/matches/afc-ajax-vs-nec-nijmegen-2026-10-10/",
   "kickoff": "2026-10-10T19:00:00.000Z",
   "competition": "Eredivisie",
   "lead_hours": 43.9,
   "market_code": "correct_score_market",
   "author_said": "Correct score: AFC Ajax 3-1 NEC Nijmegen at 10",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "1-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "author_price",
   "series_short": "author's odds",
   "author_price": "10",
   "settled_price": "10",
   "published_at": "2026-10-08T22:55:42.000Z",
   "recorded_at": "2026-10-08T23:05:34.157Z",
   "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-1c99feb3ccf03c0257ae653d",
    "quote_text": "> Correct score: 3-1 at 9/1 (10.00) | Likelihood: Outsider",
    "fragment_from": 5469,
    "fragment_to": 5527,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/ajax-vs-nec-nijmegen-prediction-10-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "548e22c3e2514ed9088e12d5f20ce8b2069d39a0d614bcbe6c64da735f574793",
     "material_removed": false
    },
    "published_at": "2026-10-08T22:55:42.000Z",
    "detected_at": "2026-10-08T23:05:34.157Z",
    "executed_at": "2026-10-09T11:29:52.029Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-2dc93103faf2",
     "display_name": "AFC Ajax — NEC Nijmegen",
     "competition_name": "Eredivisie",
     "starts_at": "2026-10-10T19:00:00.000Z",
     "url": "/football/matches/afc-ajax-vs-nec-nijmegen-2026-10-10/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "AFC Ajax 3-1 NEC Nijmegen",
    "odds_set": {
     "by_author": "10",
     "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-08T22:55:42.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-08T22:55:42.000Z",
     "detected_at": "2026-10-08T23:05:34.157Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "AFC Ajax 3-1 NEC Nijmegen",
     "author_odds": "10",
     "market_key": "correct_score_market",
     "choice_key": "3-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: AFC Ajax 3-1 NEC Nijmegen at 10"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was AFC Ajax 1-1 NEC Nijmegen."
    },
    "settlements": [
     {
      "operation_id": "46d797edcc878088120b7f13baff35bd738b95dc77db0b2a0b3242f95977e813",
      "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": "AFC Ajax 3-1 NEC Nijmegen",
      "decimal_odds": "10",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-09T11:29:52.029Z",
      "methodology_version": "2.1",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "4b12f42fa9f4cb068409d253cb5a71a4703418072efc66cd4aec996728d759de",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "AFC Ajax 3-1 NEC Nijmegen",
      "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 Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/ajax-vs-nec-nijmegen-prediction-10-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "AFC Ajax 3-1 NEC Nijmegen"
   }
  },
  {
   "record_id": "n-8d989498db9596bf83ce508c",
   "url": "/authors/joshua-ojele/picks/3/#pick-n-8d989498db9596bf83ce508c",
   "match": "AFC Ajax v NEC Nijmegen",
   "match_url": "/football/matches/afc-ajax-vs-nec-nijmegen-2026-10-10/",
   "kickoff": "2026-10-10T19:00:00.000Z",
   "competition": "Eredivisie",
   "lead_hours": 43.9,
   "market_code": "both_teams_score_and_result",
   "author_said": "Match result and both teams to score: AFC Ajax win, both teams to score: yes at 2.25",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "1-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "author_price",
   "series_short": "author's odds",
   "author_price": "2.25",
   "settled_price": "2.25",
   "published_at": "2026-10-08T22:55:42.000Z",
   "recorded_at": "2026-10-08T23:05:34.157Z",
   "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-8d989498db9596bf83ce508c",
    "quote_text": "> Ajax to win + BTTS – Yes at 5/4 (2.25) | Likelihood: Possible",
    "fragment_from": 5404,
    "fragment_to": 5467,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/ajax-vs-nec-nijmegen-prediction-10-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "548e22c3e2514ed9088e12d5f20ce8b2069d39a0d614bcbe6c64da735f574793",
     "material_removed": false
    },
    "published_at": "2026-10-08T22:55:42.000Z",
    "detected_at": "2026-10-08T23:05:34.157Z",
    "executed_at": "2026-10-09T00:17:24.549Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-2dc93103faf2",
     "display_name": "AFC Ajax — NEC Nijmegen",
     "competition_name": "Eredivisie",
     "starts_at": "2026-10-10T19:00:00.000Z",
     "url": "/football/matches/afc-ajax-vs-nec-nijmegen-2026-10-10/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Match result and both teams to score",
    "outcome_label": "AFC Ajax win, both teams to score: yes",
    "odds_set": {
     "by_author": "2.25",
     "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-08T22:55:42.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-08T22:55:42.000Z",
     "detected_at": "2026-10-08T23:05:34.157Z",
     "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": "AFC Ajax win, both teams to score: yes",
     "author_odds": "2.25",
     "market_key": "both_teams_score_and_result",
     "choice_key": "1-yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Match result and both teams to score: AFC Ajax win, both teams to score: yes at 2.25"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was AFC Ajax 1-1 NEC Nijmegen."
    },
    "settlements": [
     {
      "operation_id": "7d38d8e7c4de497dbb3f78c62972d5ac512434490f88352540b490c1749716d1",
      "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 both teams to score",
      "choice": "AFC Ajax win, both teams to score: yes",
      "decimal_odds": "2.25",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-09T00:17:24.549Z",
      "methodology_version": "2.1",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "c924d8887ec60b77d9b6dac60c389044c4f007884d8badbcac13a7598c6d2204",
      "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": "AFC Ajax win, 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": "settled_pick",
    "authorship": {
     "material_author": "Joshua Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/ajax-vs-nec-nijmegen-prediction-10-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "AFC Ajax win, both teams to score: yes"
   }
  },
  {
   "record_id": "n-045131a469d0ac3fe0ac78f0",
   "url": "/authors/joshua-ojele/picks/3/#pick-n-045131a469d0ac3fe0ac78f0",
   "match": "AFC Ajax v NEC Nijmegen",
   "match_url": "/football/matches/afc-ajax-vs-nec-nijmegen-2026-10-10/",
   "kickoff": "2026-10-10T19:00:00.000Z",
   "competition": "Eredivisie",
   "lead_hours": 43.9,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 1.3",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "1-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.3",
   "settled_price": "1.2900",
   "published_at": "2026-10-08T22:55:42.000Z",
   "recorded_at": "2026-10-08T23:05:34.157Z",
   "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-045131a469d0ac3fe0ac78f0",
    "quote_text": "> Over 2.5 goals at 3/10 (1.30) | Likelihood: Possible",
    "fragment_from": 5348,
    "fragment_to": 5402,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/ajax-vs-nec-nijmegen-prediction-10-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "548e22c3e2514ed9088e12d5f20ce8b2069d39a0d614bcbe6c64da735f574793",
     "material_removed": false
    },
    "published_at": "2026-10-08T22:55:42.000Z",
    "detected_at": "2026-10-08T23:05:34.157Z",
    "executed_at": "2026-10-22T11:03:46.573Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-2dc93103faf2",
     "display_name": "AFC Ajax — NEC Nijmegen",
     "competition_name": "Eredivisie",
     "starts_at": "2026-10-10T19:00:00.000Z",
     "url": "/football/matches/afc-ajax-vs-nec-nijmegen-2026-10-10/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": "1.3",
     "our_snapshot": "1.2900",
     "our_snapshot_at": "2026-10-08T23:05:36.000Z",
     "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-08T22:55:42.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-08T22:55:42.000Z",
     "detected_at": "2026-10-08T23:05:34.157Z",
     "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.3",
     "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.3"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was AFC Ajax 1-1 NEC Nijmegen."
    },
    "settlements": [
     {
      "operation_id": "076500f87f2f238a7fc464e0838de1ba40555c55cbb82c07bcb447ba65fdb3e9",
      "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.3",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-09T00:17:24.486Z",
      "methodology_version": "2.1",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "5cc7e5238104df1d9b8caa1bbbaad5fb10981c141488c59287fc8614602259d3",
      "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.2900",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-22T11:03:46.573Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Joshua Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/ajax-vs-nec-nijmegen-prediction-10-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-ebe3123e1884f71b89c65125",
   "url": "/authors/joshua-ojele/picks/3/#pick-n-ebe3123e1884f71b89c65125",
   "match": "AFC Ajax v NEC Nijmegen",
   "match_url": "/football/matches/afc-ajax-vs-nec-nijmegen-2026-10-10/",
   "kickoff": "2026-10-10T19:00:00.000Z",
   "competition": "Eredivisie",
   "lead_hours": 43.9,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "1-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 5405,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "1.5405",
   "published_at": "2026-10-08T22:55:42.000Z",
   "recorded_at": "2026-10-08T23:05:34.157Z",
   "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.5405",
    "result": "Won",
    "points_hundredths": 5405,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-ebe3123e1884f71b89c65125",
    "quote_text": "🔥 Our Hot tip\n\nBTTS - Yes",
    "fragment_from": 181,
    "fragment_to": 206,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/ajax-vs-nec-nijmegen-prediction-10-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "548e22c3e2514ed9088e12d5f20ce8b2069d39a0d614bcbe6c64da735f574793",
     "material_removed": false
    },
    "published_at": "2026-10-08T22:55:42.000Z",
    "detected_at": "2026-10-08T23:05:34.157Z",
    "executed_at": "2026-10-10T23:35:07.586Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-2dc93103faf2",
     "display_name": "AFC Ajax — NEC Nijmegen",
     "competition_name": "Eredivisie",
     "starts_at": "2026-10-10T19:00:00.000Z",
     "url": "/football/matches/afc-ajax-vs-nec-nijmegen-2026-10-10/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "1.5405",
     "our_snapshot_at": "2026-10-09T00:23:26.248Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 5405,
    "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-08T22:55:42.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-08T22:55:42.000Z",
     "detected_at": "2026-10-08T23:05:34.157Z",
     "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": null,
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was AFC Ajax 1-1 NEC Nijmegen."
    },
    "settlements": [
     {
      "operation_id": "3df7edbf253e80079364a0f2e6b1a1a812cd2d2f33fee324da213c11c1887014",
      "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.5405",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5405,
      "executed_at": "2026-10-10T23:35:07.586Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Joshua Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/ajax-vs-nec-nijmegen-prediction-10-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-c6c4597e20499e28494ed259",
   "url": "/authors/joshua-ojele/picks/3/#pick-n-c6c4597e20499e28494ed259",
   "match": "Marítimo v FC Porto",
   "match_url": "/football/matches/maritimo-vs-fc-porto-2026-10-10/",
   "kickoff": "2026-10-10T17:00:00.000Z",
   "competition": "Primeira Liga",
   "lead_hours": 47.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Marítimo 1-3 FC Porto at 12",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "1-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "author_price",
   "series_short": "author's odds",
   "author_price": "12",
   "settled_price": "12",
   "published_at": "2026-10-08T17:09:43.000Z",
   "recorded_at": "2026-10-08T17:23:06.165Z",
   "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-c6c4597e20499e28494ed259",
    "quote_text": "while a correct score of 1-3 at 11/1 (12.00) is our outside pick.",
    "fragment_from": 4845,
    "fragment_to": 4910,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/maritimo-vs-porto-prediction-10-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "c154fbb54ab80e0fee23f87515907bff416053fa5f8fe18dce3290c31fa6ff3e",
     "material_removed": false
    },
    "published_at": "2026-10-08T17:09:43.000Z",
    "detected_at": "2026-10-08T17:23:06.165Z",
    "executed_at": "2026-10-09T11:29:52.330Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-5d9efad94cea",
     "display_name": "Marítimo — FC Porto",
     "competition_name": "Primeira Liga",
     "starts_at": "2026-10-10T17:00:00.000Z",
     "url": "/football/matches/maritimo-vs-fc-porto-2026-10-10/",
     "scoreline": "1-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Marítimo 1-3 FC Porto",
    "odds_set": {
     "by_author": "12",
     "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-08T17:09:43.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-08T17:09:43.000Z",
     "detected_at": "2026-10-08T17:23:06.165Z",
     "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": "Marítimo 1-3 FC Porto",
     "author_odds": "12",
     "market_key": "correct_score_market",
     "choice_key": "1-3",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Marítimo 1-3 FC Porto at 12"
    },
    "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 Marítimo 1-2 FC Porto."
    },
    "settlements": [
     {
      "operation_id": "f756deb18fa08733380eb950259d5a825e0a314e8301b53f6d40726ab19277db",
      "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": "Marítimo 1-3 FC Porto",
      "decimal_odds": "12",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-09T11:29:52.330Z",
      "methodology_version": "2.1",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "ab0d61bacee5142c31c40f0cd8f6b355fa4cafd4206540d8a178158cfb8d980b",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Marítimo 1-3 FC Porto",
      "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 Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/maritimo-vs-porto-prediction-10-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Marítimo 1-3 FC Porto"
   }
  },
  {
   "record_id": "n-b71d2ec0154a51610731c01f",
   "url": "/authors/joshua-ojele/picks/3/#pick-n-b71d2ec0154a51610731c01f",
   "match": "Marítimo v FC Porto",
   "match_url": "/football/matches/maritimo-vs-fc-porto-2026-10-10/",
   "kickoff": "2026-10-10T17:00:00.000Z",
   "competition": "Primeira Liga",
   "lead_hours": 47.6,
   "market_code": "both_teams_score_and_result",
   "author_said": "Match result and both teams to score: FC Porto win, both teams to score: yes at 3.4",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "1-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 24000,
   "series_code": "author_price",
   "series_short": "author's odds",
   "author_price": "3.4",
   "settled_price": "3.4",
   "published_at": "2026-10-08T17:09:43.000Z",
   "recorded_at": "2026-10-08T17:23:06.165Z",
   "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-b71d2ec0154a51610731c01f",
    "quote_text": "Porto have managed just one clean sheet in their last five games against Maritimo, and Porto to win + BTTS – Yes at 12/5 (3.40) is the high-value bet for us",
    "fragment_from": 4687,
    "fragment_to": 4843,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/maritimo-vs-porto-prediction-10-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "c154fbb54ab80e0fee23f87515907bff416053fa5f8fe18dce3290c31fa6ff3e",
     "material_removed": false
    },
    "published_at": "2026-10-08T17:09:43.000Z",
    "detected_at": "2026-10-08T17:23:06.165Z",
    "executed_at": "2026-10-08T17:25:32.472Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-5d9efad94cea",
     "display_name": "Marítimo — FC Porto",
     "competition_name": "Primeira Liga",
     "starts_at": "2026-10-10T17:00:00.000Z",
     "url": "/football/matches/maritimo-vs-fc-porto-2026-10-10/",
     "scoreline": "1-2",
     "condition": "finished"
    },
    "market_label": "Match result and both teams to score",
    "outcome_label": "FC Porto win, both teams to score: yes",
    "odds_set": {
     "by_author": "3.4",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 24000,
    "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-08T17:09:43.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-08T17:09:43.000Z",
     "detected_at": "2026-10-08T17:23:06.165Z",
     "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": "FC Porto win, both teams to score: yes",
     "author_odds": "3.4",
     "market_key": "both_teams_score_and_result",
     "choice_key": "2-yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Match result and both teams to score: FC Porto win, both teams to score: yes at 3.4"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Marítimo 1-2 FC Porto."
    },
    "settlements": [
     {
      "operation_id": "f6aa1df3eb6ca47d16e80581e282e539066826362c5a77ced723e1236753b792",
      "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 both teams to score",
      "choice": "FC Porto win, both teams to score: yes",
      "decimal_odds": "3.4",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 24000,
      "executed_at": "2026-10-08T17:25:32.472Z",
      "methodology_version": "2.1",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "925dc8e21831641c18ee67670643ea4f120cba8733a96ec29d5d69197f7a4123",
      "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": "FC Porto win, 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": "settled_pick",
    "authorship": {
     "material_author": "Joshua Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/maritimo-vs-porto-prediction-10-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "FC Porto win, both teams to score: yes"
   }
  },
  {
   "record_id": "n-1d0c2c994b9b6a021354c402",
   "url": "/authors/joshua-ojele/picks/3/#pick-n-1d0c2c994b9b6a021354c402",
   "match": "Marítimo v FC Porto",
   "match_url": "/football/matches/maritimo-vs-fc-porto-2026-10-10/",
   "kickoff": "2026-10-10T17:00:00.000Z",
   "competition": "Primeira Liga",
   "lead_hours": 47.6,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 1.75",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "1-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 7200,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.75",
   "settled_price": "1.7200",
   "published_at": "2026-10-08T17:09:43.000Z",
   "recorded_at": "2026-10-08T17:23:06.165Z",
   "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-1d0c2c994b9b6a021354c402",
    "quote_text": "over 2.5 goals at 3/4 (1.75) is our third pick of the game.",
    "fragment_from": 4626,
    "fragment_to": 4685,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/maritimo-vs-porto-prediction-10-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "c154fbb54ab80e0fee23f87515907bff416053fa5f8fe18dce3290c31fa6ff3e",
     "material_removed": false
    },
    "published_at": "2026-10-08T17:09:43.000Z",
    "detected_at": "2026-10-08T17:23:06.165Z",
    "executed_at": "2026-10-22T11:11:45.456Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-5d9efad94cea",
     "display_name": "Marítimo — FC Porto",
     "competition_name": "Primeira Liga",
     "starts_at": "2026-10-10T17:00:00.000Z",
     "url": "/football/matches/maritimo-vs-fc-porto-2026-10-10/",
     "scoreline": "1-2",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": "1.75",
     "our_snapshot": "1.7200",
     "our_snapshot_at": "2026-10-08T17:20:36.000Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 7200,
    "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-08T17:09:43.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-08T17:09:43.000Z",
     "detected_at": "2026-10-08T17:23:06.165Z",
     "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.75",
     "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.75"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Marítimo 1-2 FC Porto."
    },
    "settlements": [
     {
      "operation_id": "e469eab3b4c554e29c8fc91ee95ee32ae9a37eee5b272856e310e3625f54e527",
      "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.75",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 7500,
      "executed_at": "2026-10-08T17:25:32.407Z",
      "methodology_version": "2.1",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "b3610717ed398fd5b45a29ca08ec066861e791910df40f9aa087f413a38e8e90",
      "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.7200",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 7200,
      "executed_at": "2026-10-22T11:11:45.456Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Joshua Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/maritimo-vs-porto-prediction-10-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-cb8d7ac1ed71c067059f3371",
   "url": "/authors/joshua-ojele/picks/3/#pick-n-cb8d7ac1ed71c067059f3371",
   "match": "Marítimo v FC Porto",
   "match_url": "/football/matches/maritimo-vs-fc-porto-2026-10-10/",
   "kickoff": "2026-10-10T17:00:00.000Z",
   "competition": "Primeira Liga",
   "lead_hours": 47.6,
   "market_code": "1x2",
   "author_said": "1X2, match result: FC Porto at 1.27",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "1-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 3000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.27",
   "settled_price": "1.3000",
   "published_at": "2026-10-08T17:09:43.000Z",
   "recorded_at": "2026-10-08T17:23:06.165Z",
   "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-cb8d7ac1ed71c067059f3371",
    "quote_text": "At 27/100 (1.27), Porto are clear favourites to come away with the win this weekend, and given the gulf in quality and experience between the two sides, we are siding with the bookmakers here.",
    "fragment_from": 4295,
    "fragment_to": 4487,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/maritimo-vs-porto-prediction-10-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "c154fbb54ab80e0fee23f87515907bff416053fa5f8fe18dce3290c31fa6ff3e",
     "material_removed": false
    },
    "published_at": "2026-10-08T17:09:43.000Z",
    "detected_at": "2026-10-08T17:23:06.165Z",
    "executed_at": "2026-10-22T12:24:05.077Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-5d9efad94cea",
     "display_name": "Marítimo — FC Porto",
     "competition_name": "Primeira Liga",
     "starts_at": "2026-10-10T17:00:00.000Z",
     "url": "/football/matches/maritimo-vs-fc-porto-2026-10-10/",
     "scoreline": "1-2",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "FC Porto",
    "odds_set": {
     "by_author": "1.27",
     "our_snapshot": "1.3000",
     "our_snapshot_at": "2026-10-08T17:20:36.000Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 3000,
    "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-08T17:09:43.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-08T17:09:43.000Z",
     "detected_at": "2026-10-08T17:23:06.165Z",
     "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": "FC Porto",
     "author_odds": "1.27",
     "market_key": "1x2",
     "choice_key": "2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: FC Porto at 1.27"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Marítimo 1-2 FC Porto."
    },
    "settlements": [
     {
      "operation_id": "679454bb325ccfff7b6232d62e682f4915b74c434cf57f007ca5fd29f0ef7bc1",
      "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": "FC Porto",
      "decimal_odds": "1.27",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 2700,
      "executed_at": "2026-10-08T17:25:32.538Z",
      "methodology_version": "2.1",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "ec449f067d45c745fe3db381e68ae59bae9666ac86044c08e77f33c737b6df08",
      "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": "FC Porto",
      "decimal_odds": "1.3000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 3000,
      "executed_at": "2026-10-22T12:24:05.077Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Joshua Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/maritimo-vs-porto-prediction-10-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "FC Porto to win"
   }
  },
  {
   "record_id": "n-d05530df3be24280209721e1",
   "url": "/authors/joshua-ojele/picks/2/#pick-n-d05530df3be24280209721e1",
   "match": "Feyenoord v AZ Alkmaar",
   "match_url": "/football/matches/feyenoord-vs-az-alkmaar-2026-10-10/",
   "kickoff": "2026-10-10T16:45:00.000Z",
   "competition": "Eredivisie",
   "lead_hours": 49.5,
   "market_code": "1x2",
   "author_said": "1X2, match result: Feyenoord",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "2-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 8000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "1.8000",
   "published_at": "2026-10-08T15:12:01.000Z",
   "recorded_at": "2026-10-08T15:17:03.431Z",
   "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.8000",
    "result": "Won",
    "points_hundredths": 8000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-d05530df3be24280209721e1",
    "quote_text": "🔥 Our Hot tip\n\nFeyenoord to win",
    "fragment_from": 140,
    "fragment_to": 171,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/feyenoord-vs-az-alkmaar-prediction-10-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "5821114761f02cd4884bb100227ea85f358a3e2689b95c6c89587da72e204176",
     "material_removed": false
    },
    "published_at": "2026-10-08T15:12:01.000Z",
    "detected_at": "2026-10-08T15:17:03.431Z",
    "executed_at": "2026-10-10T23:35:08.925Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-c6205886907a",
     "display_name": "Feyenoord — AZ Alkmaar",
     "competition_name": "Eredivisie",
     "starts_at": "2026-10-10T16:45:00.000Z",
     "url": "/football/matches/feyenoord-vs-az-alkmaar-2026-10-10/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Feyenoord",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "1.8000",
     "our_snapshot_at": "2026-10-08T15:17:19.893Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 8000,
    "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-08T15:12:01.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-08T15:12:01.000Z",
     "detected_at": "2026-10-08T15:17:03.431Z",
     "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": "Feyenoord",
     "author_odds": null,
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Feyenoord"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Feyenoord 2-0 AZ Alkmaar."
    },
    "settlements": [
     {
      "operation_id": "47b8836aba4c855fc73dead0c029028ceccd2ffde575b8081bed856831c6c694",
      "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": "Feyenoord",
      "decimal_odds": "1.8000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 8000,
      "executed_at": "2026-10-10T23:35:08.925Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Joshua Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/feyenoord-vs-az-alkmaar-prediction-10-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Feyenoord to win"
   }
  },
  {
   "record_id": "n-ed3c42a301e184cc7004f42e",
   "url": "/authors/joshua-ojele/picks/3/#pick-n-ed3c42a301e184cc7004f42e",
   "match": "Feyenoord v AZ Alkmaar",
   "match_url": "/football/matches/feyenoord-vs-az-alkmaar-2026-10-10/",
   "kickoff": "2026-10-10T16:45:00.000Z",
   "competition": "Eredivisie",
   "lead_hours": 49.5,
   "market_code": "both_teams_score_and_result",
   "author_said": "Match result and both teams to score: Feyenoord win, both teams to score: yes at 2.87",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "author_price",
   "series_short": "author's odds",
   "author_price": "2.87",
   "settled_price": "2.87",
   "published_at": "2026-10-08T15:12:01.000Z",
   "recorded_at": "2026-10-08T15:17:03.431Z",
   "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-ed3c42a301e184cc7004f42e",
    "quote_text": "> Feyenoord to win + BTTS at 187/100 (2.87) | Likelihood: Possible",
    "fragment_from": 4928,
    "fragment_to": 4994,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/feyenoord-vs-az-alkmaar-prediction-10-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "5821114761f02cd4884bb100227ea85f358a3e2689b95c6c89587da72e204176",
     "material_removed": false
    },
    "published_at": "2026-10-08T15:12:01.000Z",
    "detected_at": "2026-10-08T15:17:03.431Z",
    "executed_at": "2026-10-08T21:24:39.547Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-c6205886907a",
     "display_name": "Feyenoord — AZ Alkmaar",
     "competition_name": "Eredivisie",
     "starts_at": "2026-10-10T16:45:00.000Z",
     "url": "/football/matches/feyenoord-vs-az-alkmaar-2026-10-10/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Match result and both teams to score",
    "outcome_label": "Feyenoord win, both teams to score: yes",
    "odds_set": {
     "by_author": "2.87",
     "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-08T15:12:01.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-08T15:12:01.000Z",
     "detected_at": "2026-10-08T15:17:03.431Z",
     "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": "Feyenoord win, both teams to score: yes",
     "author_odds": "2.87",
     "market_key": "both_teams_score_and_result",
     "choice_key": "1-yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Match result and both teams to score: Feyenoord win, both teams to score: yes at 2.87"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Feyenoord 2-0 AZ Alkmaar."
    },
    "settlements": [
     {
      "operation_id": "f7f33db7f8be5c0a44b29419c6de64c5bdcf0351b44d08e8eb213957a44d1782",
      "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 both teams to score",
      "choice": "Feyenoord win, both teams to score: yes",
      "decimal_odds": "2.87",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-08T21:24:39.547Z",
      "methodology_version": "2.1",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "ad6b1d6bcc9ec8bbe4b268bbef3f2bce0dab782df1864e4cbb76b7c22e8af0e2",
      "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": "Feyenoord win, 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": "settled_pick",
    "authorship": {
     "material_author": "Joshua Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/feyenoord-vs-az-alkmaar-prediction-10-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Feyenoord win, both teams to score: yes"
   }
  },
  {
   "record_id": "n-91ccf98599f3de8bf9e1a869",
   "url": "/authors/joshua-ojele/picks/2/#pick-n-91ccf98599f3de8bf9e1a869",
   "match": "USA v Chile",
   "match_url": "/football/matches/usa-vs-chile-2026-09-30/",
   "kickoff": "2026-09-30T00:00:00.000Z",
   "competition": "International Soccer",
   "lead_hours": 40.8,
   "market_code": "both_teams_score_and_result",
   "author_said": "Match result and both teams to score: USA win, both teams to score: yes at 3.2",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "4-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 22000,
   "series_code": "author_price",
   "series_short": "author's odds",
   "author_price": "3.2",
   "settled_price": "3.2",
   "published_at": "2026-09-28T07:07:13.000Z",
   "recorded_at": "2026-09-28T07:10:59.068Z",
   "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-91ccf98599f3de8bf9e1a869",
    "quote_text": "USA to win + BTTS – Yes is currently priced at 11/5 (3.20)",
    "fragment_from": 4221,
    "fragment_to": 4279,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/usa-vs-chile-prediction-29-09-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "e9e2769eeb5531e6c49ba53ae06bdc0ddf4ffef9b02441528be053cda2ae8640",
     "material_removed": false
    },
    "published_at": "2026-09-28T07:07:13.000Z",
    "detected_at": "2026-09-28T07:10:59.068Z",
    "executed_at": "2026-10-10T23:35:11.346Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-c4758ee87917",
     "display_name": "USA — Chile",
     "competition_name": "International Soccer",
     "starts_at": "2026-09-30T00:00:00.000Z",
     "url": "/football/matches/usa-vs-chile-2026-09-30/",
     "scoreline": "4-2",
     "condition": "finished"
    },
    "market_label": "Match result and both teams to score",
    "outcome_label": "USA win, both teams to score: yes",
    "odds_set": {
     "by_author": "3.2",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 22000,
    "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-09-28T07:07:13.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-09-28T07:07:13.000Z",
     "detected_at": "2026-09-28T07:10:59.068Z",
     "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": "USA win, both teams to score: yes",
     "author_odds": "3.2",
     "market_key": "both_teams_score_and_result",
     "choice_key": "1-yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Match result and both teams to score: USA win, both teams to score: yes at 3.2"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "4-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was USA 4-2 Chile."
    },
    "settlements": [
     {
      "operation_id": "a9b2e50eae782957d90870f14ef4794dfa1f0bc62468f71327d79846af791fe0",
      "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 both teams to score",
      "choice": "USA win, both teams to score: yes",
      "decimal_odds": "3.2",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 22000,
      "executed_at": "2026-10-10T23:35:11.346Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "83490f61593052519f92526d4276760ad5664eac0457dd4b50772ab26d05dd1f",
      "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": "USA win, 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": "settled_pick",
    "authorship": {
     "material_author": "Joshua Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/usa-vs-chile-prediction-29-09-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "USA win, both teams to score: yes"
   }
  },
  {
   "record_id": "n-3655d06dac2f582b19899eec",
   "url": "/authors/joshua-ojele/picks/2/#pick-n-3655d06dac2f582b19899eec",
   "match": "USA v Chile",
   "match_url": "/football/matches/usa-vs-chile-2026-09-30/",
   "kickoff": "2026-09-30T00:00:00.000Z",
   "competition": "International Soccer",
   "lead_hours": 40.8,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 1.72",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "4-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 7407,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.72",
   "settled_price": "1.7407",
   "published_at": "2026-09-28T07:07:13.000Z",
   "recorded_at": "2026-09-28T07:10:59.068Z",
   "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-3655d06dac2f582b19899eec",
    "quote_text": "over 2.5 goals at 18/25 (1.72)",
    "fragment_from": 4170,
    "fragment_to": 4200,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/usa-vs-chile-prediction-29-09-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "e9e2769eeb5531e6c49ba53ae06bdc0ddf4ffef9b02441528be053cda2ae8640",
     "material_removed": false
    },
    "published_at": "2026-09-28T07:07:13.000Z",
    "detected_at": "2026-09-28T07:10:59.068Z",
    "executed_at": "2026-10-10T23:35:11.333Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-c4758ee87917",
     "display_name": "USA — Chile",
     "competition_name": "International Soccer",
     "starts_at": "2026-09-30T00:00:00.000Z",
     "url": "/football/matches/usa-vs-chile-2026-09-30/",
     "scoreline": "4-2",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": "1.72",
     "our_snapshot": "1.7407",
     "our_snapshot_at": "2026-09-28T07:10:24.990Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 7407,
    "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-09-28T07:07:13.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-09-28T07:07:13.000Z",
     "detected_at": "2026-09-28T07:10:59.068Z",
     "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.72",
     "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.72"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "4-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was USA 4-2 Chile."
    },
    "settlements": [
     {
      "operation_id": "b6e045c6d00fb2c6645b3568bbc3fb96efbdc1f97ecf93f5b65cfa46fd311af9",
      "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.72",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 7200,
      "executed_at": "2026-10-10T23:35:11.328Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "b3e6a839bdbaff91078b189c95ad227cb9b828e5958461b9268234355dcbffe2",
      "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.7407",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 7407,
      "executed_at": "2026-10-10T23:35:11.333Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Joshua Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/usa-vs-chile-prediction-29-09-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-b6715176ac9cc50251acd53a",
   "url": "/authors/joshua-ojele/picks/2/#pick-n-b6715176ac9cc50251acd53a",
   "match": "USA v Chile",
   "match_url": "/football/matches/usa-vs-chile-2026-09-30/",
   "kickoff": "2026-09-30T00:00:00.000Z",
   "competition": "International Soccer",
   "lead_hours": 40.8,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 1.9",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "4-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 9000,
   "series_code": "author_price",
   "series_short": "author's odds",
   "author_price": "1.9",
   "settled_price": "1.9",
   "published_at": "2026-09-28T07:07:13.000Z",
   "recorded_at": "2026-09-28T07:10:59.068Z",
   "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-b6715176ac9cc50251acd53a",
    "quote_text": "BTTS – Yes at 9/10 (1.90)",
    "fragment_from": 4104,
    "fragment_to": 4129,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/usa-vs-chile-prediction-29-09-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "e9e2769eeb5531e6c49ba53ae06bdc0ddf4ffef9b02441528be053cda2ae8640",
     "material_removed": false
    },
    "published_at": "2026-09-28T07:07:13.000Z",
    "detected_at": "2026-09-28T07:10:59.068Z",
    "executed_at": "2026-10-10T23:35:11.320Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-c4758ee87917",
     "display_name": "USA — Chile",
     "competition_name": "International Soccer",
     "starts_at": "2026-09-30T00:00:00.000Z",
     "url": "/football/matches/usa-vs-chile-2026-09-30/",
     "scoreline": "4-2",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "1.9",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 9000,
    "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-09-28T07:07:13.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-09-28T07:07:13.000Z",
     "detected_at": "2026-09-28T07:10:59.068Z",
     "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.9",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 1.9"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "4-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was USA 4-2 Chile."
    },
    "settlements": [
     {
      "operation_id": "750bc8fd5d88b9548a5afdd78f51899591a8198b4cd9d39a5c016ffd514d99c8",
      "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.9",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 9000,
      "executed_at": "2026-10-10T23:35:11.320Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "482290566bf41d5adf3291310458c3eaf8a1671cb46cea6a49156de7dc896ae6",
      "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 Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/usa-vs-chile-prediction-29-09-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-ef867dffe9b60c8c12454ef5",
   "url": "/authors/joshua-ojele/picks/2/#pick-n-ef867dffe9b60c8c12454ef5",
   "match": "USA v Chile",
   "match_url": "/football/matches/usa-vs-chile-2026-09-30/",
   "kickoff": "2026-09-30T00:00:00.000Z",
   "competition": "International Soccer",
   "lead_hours": 40.8,
   "market_code": "1x2",
   "author_said": "1X2, match result: USA at 1.38",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "4-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 4274,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.38",
   "settled_price": "1.4274",
   "published_at": "2026-09-28T07:07:13.000Z",
   "recorded_at": "2026-09-28T07:10:59.068Z",
   "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-ef867dffe9b60c8c12454ef5",
    "quote_text": "Match result – USA to win at 19/50 (1.38)",
    "fragment_from": 4432,
    "fragment_to": 4473,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/usa-vs-chile-prediction-29-09-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "e9e2769eeb5531e6c49ba53ae06bdc0ddf4ffef9b02441528be053cda2ae8640",
     "material_removed": false
    },
    "published_at": "2026-09-28T07:07:13.000Z",
    "detected_at": "2026-09-28T07:10:59.068Z",
    "executed_at": "2026-10-10T23:35:11.315Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-c4758ee87917",
     "display_name": "USA — Chile",
     "competition_name": "International Soccer",
     "starts_at": "2026-09-30T00:00:00.000Z",
     "url": "/football/matches/usa-vs-chile-2026-09-30/",
     "scoreline": "4-2",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "USA",
    "odds_set": {
     "by_author": "1.38",
     "our_snapshot": "1.4274",
     "our_snapshot_at": "2026-09-28T07:10:24.990Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 4274,
    "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-09-28T07:07:13.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-09-28T07:07:13.000Z",
     "detected_at": "2026-09-28T07:10:59.068Z",
     "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": "USA",
     "author_odds": "1.38",
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: USA at 1.38"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "4-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was USA 4-2 Chile."
    },
    "settlements": [
     {
      "operation_id": "1b0f34fc742885053de610e8b6378e188997fa9975d133f62582af18459317f6",
      "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": "USA",
      "decimal_odds": "1.38",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 3800,
      "executed_at": "2026-10-10T23:35:11.308Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "a4399764226a591d2ab02ccf275f30e98c0bba4a409b98ea22160f2be36b995e",
      "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": "USA",
      "decimal_odds": "1.4274",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 4274,
      "executed_at": "2026-10-10T23:35:11.315Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Joshua Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/usa-vs-chile-prediction-29-09-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "USA to win"
   }
  },
  {
   "record_id": "n-d53a1783d4d25f84b65ec3ad",
   "url": "/authors/joshua-ojele/picks/7/#pick-n-d53a1783d4d25f84b65ec3ad",
   "match": "Santa Clara v Gil Vicente",
   "match_url": "/football/matches/santa-clara-vs-gil-vicente-2026-11-08/",
   "kickoff": "2026-11-08T15:30:00.000Z",
   "competition": "Primeira Liga",
   "lead_hours": 41.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Santa Clara 1-0 Gil Vicente",
   "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-06T21:29:00.000Z",
   "recorded_at": "2026-11-06T22:10:30.374Z",
   "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-d53a1783d4d25f84b65ec3ad",
    "quote_text": "We say: Santa Clara 1-0 Gil Vicente",
    "fragment_from": 4666,
    "fragment_to": 4701,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/santa-clara/preview/santa-clara-vs-gil-vicente-prediction-team-news-lineups_608639.html",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "b5e20794a5e79ffeac94734e1ab517bc634f1cc68978d7a7a19cdcc2462f78de",
     "material_removed": false
    },
    "published_at": "2026-11-06T21:29:00.000Z",
    "detected_at": "2026-11-06T22:10:30.374Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-57677573ce81",
     "display_name": "Santa Clara — Gil Vicente",
     "competition_name": "Primeira Liga",
     "starts_at": "2026-11-08T15:30:00.000Z",
     "url": "/football/matches/santa-clara-vs-gil-vicente-2026-11-08/",
     "scoreline": null,
     "condition": "scheduled"
    },
    "market_label": "Correct score",
    "outcome_label": "Santa Clara 1-0 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": "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-06T21:29:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-06T21:29:00.000Z",
     "detected_at": "2026-11-06T22:10:30.374Z",
     "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": "Santa Clara 1-0 Gil Vicente",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Santa Clara 1-0 Gil Vicente"
    },
    "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": "de8fe104d6f53597efc8941a4035912bd0eabbac2f1053024f2664ec18294554",
      "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": "Santa Clara",
      "decimal_odds": "2.2500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": "2026-11-06T22:45:10.798Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joshua Ojele",
     "publisher": "Sports Mole",
     "forecaster": "Joshua Ojele",
     "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/santa-clara/preview/santa-clara-vs-gil-vicente-prediction-team-news-lineups_608639.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Santa Clara 1-0 Gil Vicente"
   }
  },
  {
   "record_id": "n-721b03c2169c61a11923e2ae",
   "url": "/authors/joshua-ojele/picks/7/#pick-n-721b03c2169c61a11923e2ae",
   "match": "Seattle Sounders FC v Los Angeles FC",
   "match_url": "/football/matches/seattle-sounders-fc-vs-los-angeles-fc-2026-11-08/",
   "kickoff": "2026-11-08T00:00:00.000Z",
   "competition": "MLS",
   "lead_hours": 41.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Seattle Sounders FC 2-1 Los Angeles FC",
   "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-06T05:53:16.000Z",
   "recorded_at": "2026-11-06T06:10:01.883Z",
   "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-721b03c2169c61a11923e2ae",
    "quote_text": "We say: Seattle Sounders 2-1 Los Angeles FC",
    "fragment_from": 5174,
    "fragment_to": 5217,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/seattle-sounders/preview/seattle-vs-los-angeles-prediction-team-news-lineups_608534.html",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "3d65b9ad496f2d102bb7faafaf2af948b3254573fc6472c1c1c153899b2a3144",
     "material_removed": false
    },
    "published_at": "2026-11-06T05:53:16.000Z",
    "detected_at": "2026-11-06T06:10:01.883Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-b3078289d64c",
     "display_name": "Seattle Sounders FC — Los Angeles FC",
     "competition_name": "MLS",
     "starts_at": "2026-11-08T00:00:00.000Z",
     "url": "/football/matches/seattle-sounders-fc-vs-los-angeles-fc-2026-11-08/",
     "scoreline": null,
     "condition": "scheduled"
    },
    "market_label": "Correct score",
    "outcome_label": "Seattle Sounders FC 2-1 Los Angeles FC",
    "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-06T05:53:16.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-06T05:53:16.000Z",
     "detected_at": "2026-11-06T06:10:01.883Z",
     "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": "Seattle Sounders FC 2-1 Los Angeles FC",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Seattle Sounders FC 2-1 Los Angeles FC"
    },
    "author_claim_outcome": {
     "result": "unknown",
     "scoreline": null,
     "data_status": "unknown",
     "cause": "kick-off 8 November 2026, 00:00 UTC",
     "methodology_version": "2.2",
     "in_words": "Pending: kick-off 8 November 2026, 00:00 UTC."
    },
    "settlements": [
     {
      "operation_id": "44dec16196457502818ab61da991cd71670c06de6c02714b1c3b948d03a8e580",
      "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": "Seattle Sounders FC",
      "decimal_odds": "1.9100",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": "2026-11-06T06:12:05.145Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joshua Ojele",
     "publisher": "Sports Mole",
     "forecaster": "Joshua Ojele",
     "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/seattle-sounders/preview/seattle-vs-los-angeles-prediction-team-news-lineups_608534.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Seattle Sounders FC 2-1 Los Angeles FC"
   }
  },
  {
   "record_id": "n-bb54a03686efe46fb746b8b4",
   "url": "/authors/joshua-ojele/picks/7/#pick-n-bb54a03686efe46fb746b8b4",
   "match": "Minnesota United v San Jose Earthquakes",
   "match_url": "/football/matches/minnesota-united-vs-san-jose-earthquakes-2026-11-08/",
   "kickoff": "2026-11-08T00:00:00.000Z",
   "competition": "MLS",
   "lead_hours": 48.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Minnesota United 2-1 San Jose Earthquakes",
   "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-05T22:31:00.000Z",
   "recorded_at": "2026-11-05T23:11:50.260Z",
   "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-bb54a03686efe46fb746b8b4",
    "quote_text": "We say: Minnesota United 2-1 San Jose Earthquakes",
    "fragment_from": 4845,
    "fragment_to": 4894,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/minnesota-united/preview/minnesota-utd-vs-earthquakes-prediction-team-news-lineups_608531.html",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "01b2a822152d6d116ac128e9382450a6baa475ee961a93c55b6b61d7ac35f2af",
     "material_removed": false
    },
    "published_at": "2026-11-05T22:31:00.000Z",
    "detected_at": "2026-11-05T23:11:50.260Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-ecf52a33486f",
     "display_name": "Minnesota United — San Jose Earthquakes",
     "competition_name": "MLS",
     "starts_at": "2026-11-08T00:00:00.000Z",
     "url": "/football/matches/minnesota-united-vs-san-jose-earthquakes-2026-11-08/",
     "scoreline": null,
     "condition": "scheduled"
    },
    "market_label": "Correct score",
    "outcome_label": "Minnesota United 2-1 San Jose Earthquakes",
    "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-05T22:31:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-05T22:31:00.000Z",
     "detected_at": "2026-11-05T23:11:50.260Z",
     "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": "Minnesota United 2-1 San Jose Earthquakes",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Minnesota United 2-1 San Jose Earthquakes"
    },
    "author_claim_outcome": {
     "result": "unknown",
     "scoreline": null,
     "data_status": "unknown",
     "cause": "kick-off 8 November 2026, 00:00 UTC",
     "methodology_version": "2.2",
     "in_words": "Pending: kick-off 8 November 2026, 00:00 UTC."
    },
    "settlements": [
     {
      "operation_id": "f8e2328c3bd2bf8711d4b43cf6e8419f879e8b0dcac3080f0e834a1a6343950f",
      "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": "Minnesota United",
      "decimal_odds": "1.7000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": "2026-11-06T01:53:13.347Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joshua Ojele",
     "publisher": "Sports Mole",
     "forecaster": "Joshua Ojele",
     "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/minnesota-united/preview/minnesota-utd-vs-earthquakes-prediction-team-news-lineups_608531.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Minnesota United 2-1 San Jose Earthquakes"
   }
  },
  {
   "record_id": "n-85128fe1e477f1d27998e123",
   "url": "/authors/joshua-ojele/picks/7/#pick-n-85128fe1e477f1d27998e123",
   "match": "FC Dallas v Colorado Rapids",
   "match_url": "/football/matches/fc-dallas-vs-colorado-rapids-2026-11-08/",
   "kickoff": "2026-11-08T00:00:00.000Z",
   "competition": "MLS",
   "lead_hours": 48.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: FC Dallas 2-0 Colorado Rapids",
   "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-05T22:48:35.000Z",
   "recorded_at": "2026-11-05T23:11:44.931Z",
   "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-85128fe1e477f1d27998e123",
    "quote_text": "We say: Dallas 2-0 Colorado Rapids",
    "fragment_from": 4420,
    "fragment_to": 4454,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/dallas/preview/dallas-vs-colorado-prediction-team-news-lineups_608528.html",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "a9f5c5a1ba5e33590c9cb478f08fc49fef77c288356e8bf6988681774865e20e",
     "material_removed": false
    },
    "published_at": "2026-11-05T22:48:35.000Z",
    "detected_at": "2026-11-05T23:11:44.931Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-6799f2d689ce",
     "display_name": "FC Dallas — Colorado Rapids",
     "competition_name": "MLS",
     "starts_at": "2026-11-08T00:00:00.000Z",
     "url": "/football/matches/fc-dallas-vs-colorado-rapids-2026-11-08/",
     "scoreline": null,
     "condition": "scheduled"
    },
    "market_label": "Correct score",
    "outcome_label": "FC Dallas 2-0 Colorado Rapids",
    "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-05T22:48:35.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-05T22:48:35.000Z",
     "detected_at": "2026-11-05T23:11:44.931Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "FC Dallas 2-0 Colorado Rapids",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: FC Dallas 2-0 Colorado Rapids"
    },
    "author_claim_outcome": {
     "result": "unknown",
     "scoreline": null,
     "data_status": "unknown",
     "cause": "kick-off 8 November 2026, 00:00 UTC",
     "methodology_version": "2.2",
     "in_words": "Pending: kick-off 8 November 2026, 00:00 UTC."
    },
    "settlements": [
     {
      "operation_id": "f203ac4494fc6df1a887de6c61d6ea89d82d5340155a55e33f0ce1e1bae31c93",
      "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": "FC Dallas",
      "decimal_odds": "2.0400",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": "2026-11-06T01:53:11.421Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joshua Ojele",
     "publisher": "Sports Mole",
     "forecaster": "Joshua Ojele",
     "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/dallas/preview/dallas-vs-colorado-prediction-team-news-lineups_608528.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "FC Dallas 2-0 Colorado Rapids"
   }
  },
  {
   "record_id": "n-4b564125f43d8116554eac24",
   "url": "/authors/joshua-ojele/picks/6/#pick-n-4b564125f43d8116554eac24",
   "match": "Monaco v Nordsjælland",
   "match_url": "/football/matches/monaco-vs-nordsjaelland-2026-11-05/",
   "kickoff": "2026-11-05T20:00:00.000Z",
   "competition": "UEFA Conference League",
   "lead_hours": 37.9,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Monaco 3-1 Nordsjælland at 11",
   "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-11-04T05:57:29.000Z",
   "recorded_at": "2026-11-04T06:04:17.426Z",
   "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-4b564125f43d8116554eac24",
    "quote_text": "correct score market has a correct score of 3-1 at 10/1 (11.00)",
    "fragment_from": 4870,
    "fragment_to": 4933,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/monaco-vs-nordsjaelland-prediction-05-11-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "fc236f33fd79c070dfd6240c566cc5ce06fc67c3f81a90645099fa5537aafefd",
     "material_removed": false
    },
    "published_at": "2026-11-04T05:57:29.000Z",
    "detected_at": "2026-11-04T06:04:17.426Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "ambiguous",
    "event": {
     "event_id": "s-045835f2ee6d",
     "display_name": "Monaco — Nordsjælland",
     "competition_name": "UEFA Conference League",
     "starts_at": "2026-11-05T20:00:00.000Z",
     "url": "/football/matches/monaco-vs-nordsjaelland-2026-11-05/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Monaco 3-1 Nordsjælland",
    "odds_set": {
     "by_author": "11",
     "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-04T05:57:29.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-04T05:57:29.000Z",
     "detected_at": "2026-11-04T06:04:17.426Z",
     "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 3-1 Nordsjælland",
     "author_odds": "11",
     "market_key": "correct_score_market",
     "choice_key": "3-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Monaco 3-1 Nordsjælland at 11"
    },
    "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 Monaco 2-0 Nordsjælland."
    },
    "settlements": [
     {
      "operation_id": "af74425f31b421d821543070a2c6f8468fdb8faf79b2c5bb0be7b0f6622f558c",
      "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": "Monaco",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joshua Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/monaco-vs-nordsjaelland-prediction-05-11-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Monaco 3-1 Nordsjælland"
   }
  },
  {
   "record_id": "n-a812062b314ed160be55050a",
   "url": "/authors/joshua-ojele/picks/7/#pick-n-a812062b314ed160be55050a",
   "match": "Monaco v Nordsjælland",
   "match_url": "/football/matches/monaco-vs-nordsjaelland-2026-11-05/",
   "kickoff": "2026-11-05T20:00:00.000Z",
   "competition": "UEFA Conference League",
   "lead_hours": 37.9,
   "market_code": "half_time_full_time",
   "author_said": "Half-time/full-time: Monaco at half-time, Monaco at full-time at 2.05",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "2-0",
   "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-11-04T05:57:29.000Z",
   "recorded_at": "2026-11-04T06:04:17.426Z",
   "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-a812062b314ed160be55050a",
    "quote_text": "HT/FT – 1/1 is currently priced at 21/20 (2.05)",
    "fragment_from": 4811,
    "fragment_to": 4858,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/monaco-vs-nordsjaelland-prediction-05-11-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "fc236f33fd79c070dfd6240c566cc5ce06fc67c3f81a90645099fa5537aafefd",
     "material_removed": false
    },
    "published_at": "2026-11-04T05:57:29.000Z",
    "detected_at": "2026-11-04T06:04:17.426Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-045835f2ee6d",
     "display_name": "Monaco — Nordsjælland",
     "competition_name": "UEFA Conference League",
     "starts_at": "2026-11-05T20:00:00.000Z",
     "url": "/football/matches/monaco-vs-nordsjaelland-2026-11-05/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Half-time/full-time",
    "outcome_label": "Monaco at half-time, Monaco at full-time",
    "odds_set": {
     "by_author": "2.05",
     "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-04T05:57:29.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-04T05:57:29.000Z",
     "detected_at": "2026-11-04T06:04:17.426Z",
     "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": "Half-time/full-time",
     "choice": "Monaco at half-time, Monaco at full-time",
     "author_odds": "2.05",
     "market_key": "half_time_full_time",
     "choice_key": "1/1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Half-time/full-time: Monaco at half-time, Monaco at full-time at 2.05"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Monaco 2-0 Nordsjælland."
    },
    "settlements": [
     {
      "operation_id": "a7a872deb04e3c1d6dab8ea4b378810e839929f18e331a4568049cf8b8174573",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Half-time/full-time",
      "choice": "Monaco at half-time, Monaco at full-time",
      "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": "426186411635d56c496ea0194eb1bebe9ca5ea4e30a7b35914df5e54d062b33c",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Half-time/full-time",
      "choice": "Monaco at half-time, Monaco at full-time",
      "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 Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/monaco-vs-nordsjaelland-prediction-05-11-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Monaco at half-time, Monaco at full-time"
   }
  },
  {
   "record_id": "n-ccb8808e1a37c9e3000ac3d8",
   "url": "/authors/joshua-ojele/picks/6/#pick-n-ccb8808e1a37c9e3000ac3d8",
   "match": "Academico Viseu v Rio Ave",
   "match_url": "/football/matches/academico-viseu-vs-rio-ave-2026-11-01/",
   "kickoff": "2026-11-01T18:00:00.000Z",
   "competition": "Primeira Liga",
   "lead_hours": 36.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Academico Viseu 2-1 Rio Ave",
   "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-31T04:49:14.000Z",
   "recorded_at": "2026-10-31T05:10:39.133Z",
   "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.9050",
    "result": "Won",
    "points_hundredths": 9050,
    "picked_favourite": true
   },
   "platform": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-ccb8808e1a37c9e3000ac3d8",
    "quote_text": "We say: Academico de Viseu 2-1 Rio Ave",
    "fragment_from": 4860,
    "fragment_to": 4898,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/academico-de-viseu/preview/viseu-vs-rio-ave-prediction-team-news-lineups_608125.html",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "204ed5498cd660da90adcb1ca24675d407d51ba88441f972247b2a21541448a5",
     "material_removed": false
    },
    "published_at": "2026-10-31T04:49:14.000Z",
    "detected_at": "2026-10-31T05:10:39.133Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-e6945af7c38d",
     "display_name": "Academico Viseu — Rio Ave",
     "competition_name": "Primeira Liga",
     "starts_at": "2026-11-01T18:00:00.000Z",
     "url": "/football/matches/academico-viseu-vs-rio-ave-2026-11-01/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Academico Viseu 2-1 Rio Ave",
    "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-31T04:49:14.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-31T04:49:14.000Z",
     "detected_at": "2026-10-31T05:10:39.133Z",
     "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": "Academico Viseu 2-1 Rio Ave",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Academico Viseu 2-1 Rio Ave"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Matched: the final score was Academico Viseu 2-1 Rio Ave."
    },
    "settlements": [
     {
      "operation_id": "97e23fc7c0eef98688bd93b090e28b1bbeae5061bbc26e55423adf6913ca90a0",
      "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": "Academico Viseu",
      "decimal_odds": "1.9050",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 9050,
      "executed_at": "2026-11-01T14:50:52.256Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joshua Ojele",
     "publisher": "Sports Mole",
     "forecaster": "Joshua Ojele",
     "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/academico-de-viseu/preview/viseu-vs-rio-ave-prediction-team-news-lineups_608125.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Academico Viseu 2-1 Rio Ave"
   }
  },
  {
   "record_id": "n-68bee85640e67dec4a4b9a21",
   "url": "/authors/joshua-ojele/picks/6/#pick-n-68bee85640e67dec4a4b9a21",
   "match": "Arouca v Nacional",
   "match_url": "/football/matches/arouca-vs-nacional-2026-11-01/",
   "kickoff": "2026-11-01T15:30:00.000Z",
   "competition": "Primeira Liga",
   "lead_hours": 35.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Arouca 2-0 Nacional",
   "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-31T03:19:05.000Z",
   "recorded_at": "2026-10-31T04:11:47.642Z",
   "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.8000",
    "result": "Won",
    "points_hundredths": 8000,
    "picked_favourite": true
   },
   "platform": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-68bee85640e67dec4a4b9a21",
    "quote_text": "We say: Arouca 2-0 Nacional",
    "fragment_from": 5145,
    "fragment_to": 5172,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/arouca/preview/arouca-vs-nacional-prediction-team-news-lineups_608124.html",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "91e9271cd42c0d216a6560e1d7d5c7441ed47eb2d023744def2c3ded2e95b1c5",
     "material_removed": false
    },
    "published_at": "2026-10-31T03:19:05.000Z",
    "detected_at": "2026-10-31T04:11:47.642Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-d7128b6577dc",
     "display_name": "Arouca — Nacional",
     "competition_name": "Primeira Liga",
     "starts_at": "2026-11-01T15:30:00.000Z",
     "url": "/football/matches/arouca-vs-nacional-2026-11-01/",
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Arouca 2-0 Nacional",
    "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-31T03:19:05.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-31T03:19:05.000Z",
     "detected_at": "2026-10-31T04:11:47.642Z",
     "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": "Arouca 2-0 Nacional",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Arouca 2-0 Nacional"
    },
    "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 Arouca 1-0 Nacional."
    },
    "settlements": [
     {
      "operation_id": "901affdb9805a9c58bf4174ed84fbe1670494e5d2064e89907c32ae8f34ad99c",
      "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": "Arouca",
      "decimal_odds": "1.8000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 8000,
      "executed_at": "2026-11-01T14:49:24.646Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joshua Ojele",
     "publisher": "Sports Mole",
     "forecaster": "Joshua Ojele",
     "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/arouca/preview/arouca-vs-nacional-prediction-team-news-lineups_608124.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Arouca 2-0 Nacional"
   }
  },
  {
   "record_id": "n-97cd045ca1305c61fe5264f7",
   "url": "/authors/joshua-ojele/picks/6/#pick-n-97cd045ca1305c61fe5264f7",
   "match": "PSV Eindhoven v Willem II Tilburg",
   "match_url": "/football/matches/psv-eindhoven-vs-willem-ii-tilburg-2026-10-31/",
   "kickoff": "2026-10-31T17:45:00.000Z",
   "competition": "Eredivisie",
   "lead_hours": 36.2,
   "market_code": "correct_score_market",
   "author_said": "Correct score: PSV Eindhoven 4-1 Willem II Tilburg",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "7-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-30T05:26:40.000Z",
   "recorded_at": "2026-10-30T05:34:20.932Z",
   "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-97cd045ca1305c61fe5264f7",
    "quote_text": "Whispers’ prediction: PSV Eindhoven 4-1 Willem II",
    "fragment_from": 4473,
    "fragment_to": 4522,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/psv-eindhoven-vs-willem-ii-prediction-31-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "3216a611fdf89892a86e3b08aa0aafc8db4a3f447df5639b57565ea41c960632",
     "material_removed": false
    },
    "published_at": "2026-10-30T05:26:40.000Z",
    "detected_at": "2026-10-30T05:34:20.932Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-065425be6294",
     "display_name": "PSV Eindhoven — Willem II Tilburg",
     "competition_name": "Eredivisie",
     "starts_at": "2026-10-31T17:45:00.000Z",
     "url": "/football/matches/psv-eindhoven-vs-willem-ii-tilburg-2026-10-31/",
     "scoreline": "7-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "PSV Eindhoven 4-1 Willem II Tilburg",
    "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-30T05:26:40.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-30T05:26:40.000Z",
     "detected_at": "2026-10-30T05:34:20.932Z",
     "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": "PSV Eindhoven 4-1 Willem II Tilburg",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "4-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: PSV Eindhoven 4-1 Willem II Tilburg"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "7-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was PSV Eindhoven 7-0 Willem II Tilburg."
    },
    "settlements": [
     {
      "operation_id": "2a25ebcf8f512e114b5fb2dcaef44c11ecb567e67cc6bcb8744a64e46821cd14",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "PSV Eindhoven 4-1 Willem II Tilburg",
      "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": "c5e53bdb116896e64ebe6ebc4eff4813cd15f75943894e871bb3806d22735957",
      "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": "PSV Eindhoven",
      "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 Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/psv-eindhoven-vs-willem-ii-prediction-31-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "PSV Eindhoven 4-1 Willem II Tilburg"
   }
  },
  {
   "record_id": "n-a2e1afcea5d922319e85e8e2",
   "url": "/authors/joshua-ojele/picks/6/#pick-n-a2e1afcea5d922319e85e8e2",
   "match": "PSV Eindhoven v Willem II Tilburg",
   "match_url": "/football/matches/psv-eindhoven-vs-willem-ii-tilburg-2026-10-31/",
   "kickoff": "2026-10-31T17:45:00.000Z",
   "competition": "Eredivisie",
   "lead_hours": 36.2,
   "market_code": "player_to_score",
   "author_said": "Player to score: Guus Til to score at 1.5",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "7-0",
   "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-30T05:26:40.000Z",
   "recorded_at": "2026-10-30T05:34:20.932Z",
   "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-a2e1afcea5d922319e85e8e2",
    "quote_text": "Gus Til has netted six league goals this season, and the 28-year-old is currently priced to score at 1/2 (1.50)",
    "fragment_from": 5086,
    "fragment_to": 5197,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/psv-eindhoven-vs-willem-ii-prediction-31-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "3216a611fdf89892a86e3b08aa0aafc8db4a3f447df5639b57565ea41c960632",
     "material_removed": false
    },
    "published_at": "2026-10-30T05:26:40.000Z",
    "detected_at": "2026-10-30T05:34:20.932Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-065425be6294",
     "display_name": "PSV Eindhoven — Willem II Tilburg",
     "competition_name": "Eredivisie",
     "starts_at": "2026-10-31T17:45:00.000Z",
     "url": "/football/matches/psv-eindhoven-vs-willem-ii-tilburg-2026-10-31/",
     "scoreline": "7-0",
     "condition": "finished"
    },
    "market_label": "Player to score",
    "outcome_label": "Guus Til to score",
    "odds_set": {
     "by_author": "1.5",
     "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-30T05:26:40.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-30T05:26:40.000Z",
     "detected_at": "2026-10-30T05:34:20.932Z",
     "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": "Player to score",
     "choice": "Guus Til to score",
     "author_odds": "1.5",
     "market_key": "player_to_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "player_goals",
     "in_words": "Player to score: Guus Til to score at 1.5"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "7-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won — Guus Til scored 1 goal; the final score was PSV Eindhoven 7-0 Willem II Tilburg."
    },
    "settlements": [
     {
      "operation_id": "b3e3adae5ed4a14351704c78a10ea7975e142c57528623eb176f5e4b41f09c71",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Player to score",
      "choice": "Guus Til to score",
      "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": "0f3e456f62188822cc0163bdccea632a62f1dc21a30b4006bf94822da08a67c2",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Player to score",
      "choice": "Guus Til to score",
      "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 Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/psv-eindhoven-vs-willem-ii-prediction-31-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Guus Til to score"
   }
  },
  {
   "record_id": "n-1cff86b863fdc039ab643a82",
   "url": "/authors/joshua-ojele/picks/6/#pick-n-1cff86b863fdc039ab643a82",
   "match": "PSV Eindhoven v Willem II Tilburg",
   "match_url": "/football/matches/psv-eindhoven-vs-willem-ii-tilburg-2026-10-31/",
   "kickoff": "2026-10-31T17:45:00.000Z",
   "competition": "Eredivisie",
   "lead_hours": 36.2,
   "market_code": "both_teams_score_and_result",
   "author_said": "Match result and both teams to score: PSV Eindhoven win, both teams to score: yes at 1.9",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "7-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-30T05:26:40.000Z",
   "recorded_at": "2026-10-30T05:34:20.932Z",
   "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-1cff86b863fdc039ab643a82",
    "quote_text": "while with both sides scoring in six of Willem II’s last seven games, PSV to win + BTTS – Yes at 9/10 (1.90) is our value bet.",
    "fragment_from": 4958,
    "fragment_to": 5084,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/psv-eindhoven-vs-willem-ii-prediction-31-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "3216a611fdf89892a86e3b08aa0aafc8db4a3f447df5639b57565ea41c960632",
     "material_removed": false
    },
    "published_at": "2026-10-30T05:26:40.000Z",
    "detected_at": "2026-10-30T05:34:20.932Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "recognised",
    "cause": "",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": "s-065425be6294",
     "display_name": "PSV Eindhoven — Willem II Tilburg",
     "competition_name": "Eredivisie",
     "starts_at": "2026-10-31T17:45:00.000Z",
     "url": "/football/matches/psv-eindhoven-vs-willem-ii-tilburg-2026-10-31/",
     "scoreline": "7-0",
     "condition": "finished"
    },
    "market_label": "Match result and both teams to score",
    "outcome_label": "PSV Eindhoven win, both teams to score: yes",
    "odds_set": {
     "by_author": "1.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-30T05:26:40.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-30T05:26:40.000Z",
     "detected_at": "2026-10-30T05:34:20.932Z",
     "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": "PSV Eindhoven win, both teams to score: yes",
     "author_odds": "1.9",
     "market_key": "both_teams_score_and_result",
     "choice_key": "1-yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Match result and both teams to score: PSV Eindhoven win, both teams to score: yes at 1.9"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "7-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was PSV Eindhoven 7-0 Willem II Tilburg."
    },
    "settlements": [
     {
      "operation_id": "4d0d2e1eb7c881b65de21c8c0e9ebb9f939a203f37563959e1d97986e25b9ad7",
      "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 both teams to score",
      "choice": "PSV Eindhoven win, 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
     },
     {
      "operation_id": "1ceb0e498de10d7c24dddd53134740e78738a02b80c837415fcfc55ffccce539",
      "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": "PSV Eindhoven win, 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 Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/psv-eindhoven-vs-willem-ii-prediction-31-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "PSV Eindhoven win, both teams to score: yes"
   }
  },
  {
   "record_id": "n-793385db3c45b74a36201892",
   "url": "/authors/joshua-ojele/picks/6/#pick-n-793385db3c45b74a36201892",
   "match": "PSV Eindhoven v Willem II Tilburg",
   "match_url": "/football/matches/psv-eindhoven-vs-willem-ii-tilburg-2026-10-31/",
   "kickoff": "2026-10-31T17:45:00.000Z",
   "competition": "Eredivisie",
   "lead_hours": 36.2,
   "market_code": "1x2",
   "author_said": "1X2, match result: PSV Eindhoven at 1.07",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "7-0",
   "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-30T05:26:40.000Z",
   "recorded_at": "2026-10-30T05:34:20.932Z",
   "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-793385db3c45b74a36201892",
    "quote_text": "which is currently priced at 7/100 by the bookies.",
    "fragment_from": 4788,
    "fragment_to": 4838,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/psv-eindhoven-vs-willem-ii-prediction-31-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "3216a611fdf89892a86e3b08aa0aafc8db4a3f447df5639b57565ea41c960632",
     "material_removed": false
    },
    "published_at": "2026-10-30T05:26:40.000Z",
    "detected_at": "2026-10-30T05:34:20.932Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-065425be6294",
     "display_name": "PSV Eindhoven — Willem II Tilburg",
     "competition_name": "Eredivisie",
     "starts_at": "2026-10-31T17:45:00.000Z",
     "url": "/football/matches/psv-eindhoven-vs-willem-ii-tilburg-2026-10-31/",
     "scoreline": "7-0",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "PSV Eindhoven",
    "odds_set": {
     "by_author": "1.07",
     "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-30T05:26:40.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-30T05:26:40.000Z",
     "detected_at": "2026-10-30T05:34:20.932Z",
     "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": "PSV Eindhoven",
     "author_odds": "1.07",
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: PSV Eindhoven at 1.07"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "7-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was PSV Eindhoven 7-0 Willem II Tilburg."
    },
    "settlements": [
     {
      "operation_id": "1bb1d6345ee5061c5801d84d7395a1d1724d39e802cbd1c064065708450bd5a4",
      "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": "PSV Eindhoven",
      "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": "6e390cc504618863025f8c0a4cb4c280b39421d8ff7a6d6f64f030ab7b5ac69a",
      "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": "PSV Eindhoven",
      "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 Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/psv-eindhoven-vs-willem-ii-prediction-31-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "PSV Eindhoven to win"
   }
  },
  {
   "record_id": "n-4560fe188d5721bec7405efd",
   "url": "/authors/joshua-ojele/picks/6/#pick-n-4560fe188d5721bec7405efd",
   "match": "Feyenoord v Fortuna Sittard",
   "match_url": "/football/matches/feyenoord-vs-fortuna-sittard-2026-10-31/",
   "kickoff": "2026-10-31T15:30:00.000Z",
   "competition": "Eredivisie",
   "lead_hours": 32.9,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 1.8",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "1-1",
   "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-30T06:24:49.000Z",
   "recorded_at": "2026-10-30T06:34:20.165Z",
   "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-4560fe188d5721bec7405efd",
    "quote_text": "we predict BTTS – Yes at 4/5 (1.80)",
    "fragment_from": 4878,
    "fragment_to": 4913,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/feyenoord-vs-fortuna-sittard-prediction-31-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "f6b32a778dc5ee8f0467c84734a2373dfd45fcb203e7028f328d5c619637b81b",
     "material_removed": false
    },
    "published_at": "2026-10-30T06:24:49.000Z",
    "detected_at": "2026-10-30T06:34:20.165Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-80bafc0dea3b",
     "display_name": "Feyenoord — Fortuna Sittard",
     "competition_name": "Eredivisie",
     "starts_at": "2026-10-31T15:30:00.000Z",
     "url": "/football/matches/feyenoord-vs-fortuna-sittard-2026-10-31/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "1.8",
     "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-30T06:24:49.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-30T06:24:49.000Z",
     "detected_at": "2026-10-30T06:34:20.165Z",
     "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.8",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 1.8"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Feyenoord 1-1 Fortuna Sittard."
    },
    "settlements": [
     {
      "operation_id": "6f08200e13f67fb1ed7656d919fba7481834d6db1550d10ee05bb1c4fb650e90",
      "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": "101bf0e0ac954f8ce4b2b6c4af65cf6b180f22954bf332aa7d476b98136a2fd7",
      "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 Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/feyenoord-vs-fortuna-sittard-prediction-31-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-a4fc0055c28cabe09ea9ece9",
   "url": "/authors/joshua-ojele/picks/6/#pick-n-a4fc0055c28cabe09ea9ece9",
   "match": "Feyenoord v Fortuna Sittard",
   "match_url": "/football/matches/feyenoord-vs-fortuna-sittard-2026-10-31/",
   "kickoff": "2026-10-31T15:30:00.000Z",
   "competition": "Eredivisie",
   "lead_hours": 32.9,
   "market_code": "1x2",
   "author_said": "1X2, match result: Feyenoord at 1.16",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-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-30T06:24:49.000Z",
   "recorded_at": "2026-10-30T06:34:20.165Z",
   "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-a4fc0055c28cabe09ea9ece9",
    "quote_text": "we predict the hosts will extend their dominance in this fixture with another victory, which is currently priced at 4/25 (1.16) by the bookmakers.",
    "fragment_from": 4656,
    "fragment_to": 4802,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/feyenoord-vs-fortuna-sittard-prediction-31-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "f6b32a778dc5ee8f0467c84734a2373dfd45fcb203e7028f328d5c619637b81b",
     "material_removed": false
    },
    "published_at": "2026-10-30T06:24:49.000Z",
    "detected_at": "2026-10-30T06:34:20.165Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-80bafc0dea3b",
     "display_name": "Feyenoord — Fortuna Sittard",
     "competition_name": "Eredivisie",
     "starts_at": "2026-10-31T15:30:00.000Z",
     "url": "/football/matches/feyenoord-vs-fortuna-sittard-2026-10-31/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Feyenoord",
    "odds_set": {
     "by_author": "1.16",
     "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-30T06:24:49.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-30T06:24:49.000Z",
     "detected_at": "2026-10-30T06:34:20.165Z",
     "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": "Feyenoord",
     "author_odds": "1.16",
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Feyenoord at 1.16"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Feyenoord 1-1 Fortuna Sittard."
    },
    "settlements": [
     {
      "operation_id": "bd442673a0d69121e463ae6f33cfa5a92841710f8d59c92bd2a03acf4bf28985",
      "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": "Feyenoord",
      "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": "0afa26307bcf564b79ca8e37ff425890fac7a01efb5ddab933d41b9bb9540fce",
      "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": "Feyenoord",
      "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 Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/feyenoord-vs-fortuna-sittard-prediction-31-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Feyenoord to win"
   }
  },
  {
   "record_id": "n-7274a97ec0f86e32b86bc00d",
   "url": "/authors/joshua-ojele/picks/6/#pick-n-7274a97ec0f86e32b86bc00d",
   "match": "Feyenoord v Fortuna Sittard",
   "match_url": "/football/matches/feyenoord-vs-fortuna-sittard-2026-10-31/",
   "kickoff": "2026-10-31T15:30:00.000Z",
   "competition": "Eredivisie",
   "lead_hours": 32.9,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Feyenoord 3-1 Fortuna Sittard at 10",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-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-30T06:24:49.000Z",
   "recorded_at": "2026-10-30T06:34:20.165Z",
   "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-7274a97ec0f86e32b86bc00d",
    "quote_text": "the correct score market has a correct score of 3-1 at 9/1 (10.00).",
    "fragment_from": 5144,
    "fragment_to": 5211,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/feyenoord-vs-fortuna-sittard-prediction-31-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "f6b32a778dc5ee8f0467c84734a2373dfd45fcb203e7028f328d5c619637b81b",
     "material_removed": false
    },
    "published_at": "2026-10-30T06:24:49.000Z",
    "detected_at": "2026-10-30T06:34:20.165Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-80bafc0dea3b",
     "display_name": "Feyenoord — Fortuna Sittard",
     "competition_name": "Eredivisie",
     "starts_at": "2026-10-31T15:30:00.000Z",
     "url": "/football/matches/feyenoord-vs-fortuna-sittard-2026-10-31/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Feyenoord 3-1 Fortuna Sittard",
    "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-30T06:24:49.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-30T06:24:49.000Z",
     "detected_at": "2026-10-30T06:34:20.165Z",
     "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": "Feyenoord 3-1 Fortuna Sittard",
     "author_odds": "10",
     "market_key": "correct_score_market",
     "choice_key": "3-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Feyenoord 3-1 Fortuna Sittard at 10"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Feyenoord 1-1 Fortuna Sittard."
    },
    "settlements": [
     {
      "operation_id": "c1521f6b187c4b5c9d93f9a5bd53def61d954ea572c0928a95a3359c7d560e76",
      "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": "Feyenoord 3-1 Fortuna Sittard",
      "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": "bf0121b73d6d81359b4f9eae059ba9bb8dd0e872a6d759e8a96a922b5fc5ece8",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Feyenoord 3-1 Fortuna Sittard",
      "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 Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/feyenoord-vs-fortuna-sittard-prediction-31-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Feyenoord 3-1 Fortuna Sittard"
   }
  },
  {
   "record_id": "n-87c2b383e2a9b4d270d8e961",
   "url": "/authors/joshua-ojele/picks/6/#pick-n-87c2b383e2a9b4d270d8e961",
   "match": "Feyenoord v Fortuna Sittard",
   "match_url": "/football/matches/feyenoord-vs-fortuna-sittard-2026-10-31/",
   "kickoff": "2026-10-31T15:30:00.000Z",
   "competition": "Eredivisie",
   "lead_hours": 32.9,
   "market_code": "both_teams_score_and_result",
   "author_said": "Match result and both teams to score: Feyenoord win, both teams to score: yes at 2.3",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-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-30T06:24:49.000Z",
   "recorded_at": "2026-10-30T06:34:20.165Z",
   "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-87c2b383e2a9b4d270d8e961",
    "quote_text": "making Feyenoord to win + BTTS – Yes at 13/10 (2.30) the low-risk value option for us.",
    "fragment_from": 4915,
    "fragment_to": 5001,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/feyenoord-vs-fortuna-sittard-prediction-31-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "f6b32a778dc5ee8f0467c84734a2373dfd45fcb203e7028f328d5c619637b81b",
     "material_removed": false
    },
    "published_at": "2026-10-30T06:24:49.000Z",
    "detected_at": "2026-10-30T06:34:20.165Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-80bafc0dea3b",
     "display_name": "Feyenoord — Fortuna Sittard",
     "competition_name": "Eredivisie",
     "starts_at": "2026-10-31T15:30:00.000Z",
     "url": "/football/matches/feyenoord-vs-fortuna-sittard-2026-10-31/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Match result and both teams to score",
    "outcome_label": "Feyenoord win, both teams to score: yes",
    "odds_set": {
     "by_author": "2.3",
     "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-30T06:24:49.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-30T06:24:49.000Z",
     "detected_at": "2026-10-30T06:34:20.165Z",
     "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": "Feyenoord win, both teams to score: yes",
     "author_odds": "2.3",
     "market_key": "both_teams_score_and_result",
     "choice_key": "1-yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Match result and both teams to score: Feyenoord win, both teams to score: yes at 2.3"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Feyenoord 1-1 Fortuna Sittard."
    },
    "settlements": [
     {
      "operation_id": "c4f68d52c746e73b3201fa95bf257676c5c78766000d3a595ea37cb84384fd38",
      "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 both teams to score",
      "choice": "Feyenoord win, 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
     },
     {
      "operation_id": "8fa4f172129ec8767912456ee1ab9e8a598d9b38fc3287c242a6c7d80b4ee67b",
      "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": "Feyenoord win, 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 Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/feyenoord-vs-fortuna-sittard-prediction-31-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Feyenoord win, both teams to score: yes"
   }
  },
  {
   "record_id": "n-a7d82a1c5bee58a794bd8602",
   "url": "/authors/joshua-ojele/picks/5/#pick-n-a7d82a1c5bee58a794bd8602",
   "match": "Casa Pia v Sporting CP",
   "match_url": "/football/matches/casa-pia-vs-sporting-cp-2026-10-30/",
   "kickoff": "2026-10-30T20:15:00.000Z",
   "competition": "Primeira Liga",
   "lead_hours": 38.4,
   "market_code": "1x2",
   "author_said": "1X2, match result: Sporting CP at 1.24",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "0-2",
   "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-29T05:46:24.000Z",
   "recorded_at": "2026-10-29T05:51:43.201Z",
   "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-a7d82a1c5bee58a794bd8602",
    "quote_text": "visitors’ superior quality across the pitch should see them emerge victorious here, which is currently priced at 6/25 (1.24) by the bookies.",
    "fragment_from": 5108,
    "fragment_to": 5248,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/casa-pia-vs-sporting-cp-prediction-30-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "9bb0c1599b93f901679e36624c41b45f0a52aaf22227b74d461cf1122bdf9dcb",
     "material_removed": false
    },
    "published_at": "2026-10-29T05:46:24.000Z",
    "detected_at": "2026-10-29T05:51:43.201Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-901bd676fe3a",
     "display_name": "Casa Pia — Sporting CP",
     "competition_name": "Primeira Liga",
     "starts_at": "2026-10-30T20:15:00.000Z",
     "url": "/football/matches/casa-pia-vs-sporting-cp-2026-10-30/",
     "scoreline": "0-2",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Sporting CP",
    "odds_set": {
     "by_author": "1.24",
     "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-29T05:46:24.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-29T05:46:24.000Z",
     "detected_at": "2026-10-29T05:51:43.201Z",
     "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": "Sporting CP",
     "author_odds": "1.24",
     "market_key": "1x2",
     "choice_key": "2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Sporting CP at 1.24"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "0-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Casa Pia 0-2 Sporting CP."
    },
    "settlements": [
     {
      "operation_id": "c7f3d15a890de7262b9e23355ad5dc42f87d4169326ad24640373ed1f0d4f8fb",
      "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": "Sporting CP",
      "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": "e240232b336d4fb1746752bb5b74a7c5ad306f17c4fde4f38fa5cd9e7f46d1eb",
      "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": "Sporting CP",
      "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 Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/casa-pia-vs-sporting-cp-prediction-30-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Sporting CP to win"
   }
  },
  {
   "record_id": "n-be661865460df0b711b70546",
   "url": "/authors/joshua-ojele/picks/5/#pick-n-be661865460df0b711b70546",
   "match": "Casa Pia v Sporting CP",
   "match_url": "/football/matches/casa-pia-vs-sporting-cp-2026-10-30/",
   "kickoff": "2026-10-30T20:15:00.000Z",
   "competition": "Primeira Liga",
   "lead_hours": 38.4,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Casa Pia 1-3 Sporting CP at 11",
   "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-29T05:46:24.000Z",
   "recorded_at": "2026-10-29T05:51:43.201Z",
   "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-be661865460df0b711b70546",
    "quote_text": "correct score market has a correct score of 1-3 at 10/1 (11.00).",
    "fragment_from": 5602,
    "fragment_to": 5666,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/casa-pia-vs-sporting-cp-prediction-30-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "9bb0c1599b93f901679e36624c41b45f0a52aaf22227b74d461cf1122bdf9dcb",
     "material_removed": false
    },
    "published_at": "2026-10-29T05:46:24.000Z",
    "detected_at": "2026-10-29T05:51:43.201Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-901bd676fe3a",
     "display_name": "Casa Pia — Sporting CP",
     "competition_name": "Primeira Liga",
     "starts_at": "2026-10-30T20:15:00.000Z",
     "url": "/football/matches/casa-pia-vs-sporting-cp-2026-10-30/",
     "scoreline": "0-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Casa Pia 1-3 Sporting CP",
    "odds_set": {
     "by_author": "11",
     "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-29T05:46:24.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-29T05:46:24.000Z",
     "detected_at": "2026-10-29T05:51:43.201Z",
     "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": "Casa Pia 1-3 Sporting CP",
     "author_odds": "11",
     "market_key": "correct_score_market",
     "choice_key": "1-3",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Casa Pia 1-3 Sporting CP at 11"
    },
    "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 Casa Pia 0-2 Sporting CP."
    },
    "settlements": [
     {
      "operation_id": "086dadf1c3c99348638d0b6b8f44687a8ea98e2ee8d265d320383d05ca66d669",
      "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": "Casa Pia 1-3 Sporting CP",
      "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": "6e74e0044aa55a232366cb2ce1e7cdeab9427e5e17fc0f3cbbe0f97a00c8f596",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Casa Pia 1-3 Sporting CP",
      "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 Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/casa-pia-vs-sporting-cp-prediction-30-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Casa Pia 1-3 Sporting CP"
   }
  },
  {
   "record_id": "n-c52b689357755df33e1fec3a",
   "url": "/authors/joshua-ojele/picks/5/#pick-n-c52b689357755df33e1fec3a",
   "match": "Sparta Rotterdam v AFC Ajax",
   "match_url": "/football/matches/sparta-rotterdam-vs-afc-ajax-2026-10-25/",
   "kickoff": "2026-10-25T15:45:00.000Z",
   "competition": "Eredivisie",
   "lead_hours": 34.0,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Sparta Rotterdam 1-3 AFC Ajax at 11",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-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-24T05:34:37.000Z",
   "recorded_at": "2026-10-24T05:44:17.473Z",
   "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-c52b689357755df33e1fec3a",
    "quote_text": "correct score market has a correct score of 1-3 at 10/1 (11.00).",
    "fragment_from": 4695,
    "fragment_to": 4759,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/sparta-rotterdam-vs-ajax-prediction-25-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "ed343dd35ee41d02d53dfc0b7b373f7322403a06c4fb2acdb3dfb9af5849b9c2",
     "material_removed": false
    },
    "published_at": "2026-10-24T05:34:37.000Z",
    "detected_at": "2026-10-24T05:44:17.473Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-2f7a600f8a8b",
     "display_name": "Sparta Rotterdam — AFC Ajax",
     "competition_name": "Eredivisie",
     "starts_at": "2026-10-25T15:45:00.000Z",
     "url": "/football/matches/sparta-rotterdam-vs-afc-ajax-2026-10-25/",
     "scoreline": "1-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Sparta Rotterdam 1-3 AFC Ajax",
    "odds_set": {
     "by_author": "11",
     "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-24T05:34:37.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-24T05:34:37.000Z",
     "detected_at": "2026-10-24T05:44:17.473Z",
     "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": "Sparta Rotterdam 1-3 AFC Ajax",
     "author_odds": "11",
     "market_key": "correct_score_market",
     "choice_key": "1-3",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Sparta Rotterdam 1-3 AFC Ajax at 11"
    },
    "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 Sparta Rotterdam 1-2 AFC Ajax."
    },
    "settlements": [
     {
      "operation_id": "fff24c9592c3f8e6fae096d45f5dc822ab7f9c5f9e0908f6b5c628bcc28fa12d",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Sparta Rotterdam 1-3 AFC Ajax",
      "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": "91f5fe194f6d29e5711babcf39752783697b2c37e0de04264d713597ce17aec5",
      "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": "AFC Ajax",
      "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 Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/sparta-rotterdam-vs-ajax-prediction-25-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Sparta Rotterdam 1-3 AFC Ajax"
   }
  },
  {
   "record_id": "n-0cf3430fcca3bfbab3d61007",
   "url": "/authors/joshua-ojele/picks/5/#pick-n-0cf3430fcca3bfbab3d61007",
   "match": "Sparta Rotterdam v AFC Ajax",
   "match_url": "/football/matches/sparta-rotterdam-vs-afc-ajax-2026-10-25/",
   "kickoff": "2026-10-25T15:45:00.000Z",
   "competition": "Eredivisie",
   "lead_hours": 34.0,
   "market_code": "1x2",
   "author_said": "1X2, match result: AFC Ajax at 1.44",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "1-2",
   "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-24T05:34:37.000Z",
   "recorded_at": "2026-10-24T05:44:17.473Z",
   "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-0cf3430fcca3bfbab3d61007",
    "quote_text": "which is currently priced at 11/25 (1.44) by the bookmakers.",
    "fragment_from": 4299,
    "fragment_to": 4359,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/sparta-rotterdam-vs-ajax-prediction-25-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "ed343dd35ee41d02d53dfc0b7b373f7322403a06c4fb2acdb3dfb9af5849b9c2",
     "material_removed": false
    },
    "published_at": "2026-10-24T05:34:37.000Z",
    "detected_at": "2026-10-24T05:44:17.473Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "recognised",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-2f7a600f8a8b",
     "display_name": "Sparta Rotterdam — AFC Ajax",
     "competition_name": "Eredivisie",
     "starts_at": "2026-10-25T15:45:00.000Z",
     "url": "/football/matches/sparta-rotterdam-vs-afc-ajax-2026-10-25/",
     "scoreline": "1-2",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "AFC Ajax",
    "odds_set": {
     "by_author": "1.44",
     "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-24T05:34:37.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-24T05:34:37.000Z",
     "detected_at": "2026-10-24T05:44:17.473Z",
     "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": "AFC Ajax",
     "author_odds": "1.44",
     "market_key": "1x2",
     "choice_key": "2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: AFC Ajax at 1.44"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Sparta Rotterdam 1-2 AFC Ajax."
    },
    "settlements": [
     {
      "operation_id": "f8f1d9b0636693a949bb3019b83f56a1b532fe87d44cf3b68ff7f9dec9a4a88a",
      "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": "AFC Ajax",
      "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": "748da6cecda3e55fb99cb121e012ff497d98a5242d81ba278226fd9e24f18e3b",
      "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": "AFC Ajax",
      "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 Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/sparta-rotterdam-vs-ajax-prediction-25-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "AFC Ajax to win"
   }
  },
  {
   "record_id": "n-ccd7741d63be9da9fe860a91",
   "url": "/authors/joshua-ojele/picks/5/#pick-n-ccd7741d63be9da9fe860a91",
   "match": "PSV Eindhoven v Feyenoord",
   "match_url": "/football/matches/psv-eindhoven-vs-feyenoord-2026-10-25/",
   "kickoff": "2026-10-25T13:30:00.000Z",
   "competition": "Eredivisie",
   "lead_hours": 33.1,
   "market_code": "correct_score_market",
   "author_said": "Correct score: PSV Eindhoven 2-2 Feyenoord",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-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-24T04:11:35.000Z",
   "recorded_at": "2026-10-24T04:24:26.319Z",
   "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-ccd7741d63be9da9fe860a91",
    "quote_text": "Whispers’ prediction: PSV Eindhoven 2-2 Feyenoord",
    "fragment_from": 5059,
    "fragment_to": 5108,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/psv-eindhoven-vs-feyenoord-prediction-25-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "a9f1aabccfee05dc62aa924f094fe8f5e7f6ebb613a30f31caf2f8a7b326ccde",
     "material_removed": false
    },
    "published_at": "2026-10-24T04:11:35.000Z",
    "detected_at": "2026-10-24T04:24:26.319Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-63c4f1691fb8",
     "display_name": "PSV Eindhoven — Feyenoord",
     "competition_name": "Eredivisie",
     "starts_at": "2026-10-25T13:30:00.000Z",
     "url": "/football/matches/psv-eindhoven-vs-feyenoord-2026-10-25/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "PSV Eindhoven 2-2 Feyenoord",
    "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-24T04:11:35.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-24T04:11:35.000Z",
     "detected_at": "2026-10-24T04:24:26.319Z",
     "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": "PSV Eindhoven 2-2 Feyenoord",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: PSV Eindhoven 2-2 Feyenoord"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was PSV Eindhoven 1-1 Feyenoord."
    },
    "settlements": [
     {
      "operation_id": "df601802a40a72dccc50a5031a48846578b88ee4a8a7e6cf6415bcd52fa91cbf",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "PSV Eindhoven 2-2 Feyenoord",
      "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": "2f1536dcc231ac243c35aa8f814cad47af556f52bc8dd611b548987c0258b49e",
      "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 Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/psv-eindhoven-vs-feyenoord-prediction-25-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "PSV Eindhoven 2-2 Feyenoord"
   }
  },
  {
   "record_id": "n-b1c4e028c4359d9a709c271b",
   "url": "/authors/joshua-ojele/picks/5/#pick-n-b1c4e028c4359d9a709c271b",
   "match": "PSV Eindhoven v Feyenoord",
   "match_url": "/football/matches/psv-eindhoven-vs-feyenoord-2026-10-25/",
   "kickoff": "2026-10-25T13:30:00.000Z",
   "competition": "Eredivisie",
   "lead_hours": 33.1,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 1.3",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-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-24T04:11:35.000Z",
   "recorded_at": "2026-10-24T04:24:26.319Z",
   "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-b1c4e028c4359d9a709c271b",
    "quote_text": "we predict over 2.5 goals at 3/10 (1.30)",
    "fragment_from": 5277,
    "fragment_to": 5317,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/psv-eindhoven-vs-feyenoord-prediction-25-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "a9f1aabccfee05dc62aa924f094fe8f5e7f6ebb613a30f31caf2f8a7b326ccde",
     "material_removed": false
    },
    "published_at": "2026-10-24T04:11:35.000Z",
    "detected_at": "2026-10-24T04:24:26.319Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-63c4f1691fb8",
     "display_name": "PSV Eindhoven — Feyenoord",
     "competition_name": "Eredivisie",
     "starts_at": "2026-10-25T13:30:00.000Z",
     "url": "/football/matches/psv-eindhoven-vs-feyenoord-2026-10-25/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": "1.3",
     "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-24T04:11:35.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-24T04:11:35.000Z",
     "detected_at": "2026-10-24T04:24:26.319Z",
     "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.3",
     "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.3"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was PSV Eindhoven 1-1 Feyenoord."
    },
    "settlements": [
     {
      "operation_id": "508ee5b372bb50b557d015cb3212c9d9f1ebd051a0e99b5e1782cd08c4f52450",
      "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": "5d9ee5513c75d7a70f6c38853b0082baaf016331493e6ecf93d10e32320bf814",
      "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 Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/psv-eindhoven-vs-feyenoord-prediction-25-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-94227a5b3b1e3031f139004c",
   "url": "/authors/joshua-ojele/picks/5/#pick-n-94227a5b3b1e3031f139004c",
   "match": "Gil Vicente v FC Porto",
   "match_url": "/football/matches/gil-vicente-vs-fc-porto-2026-10-24/",
   "kickoff": "2026-10-24T19:30:00.000Z",
   "competition": "Primeira Liga",
   "lead_hours": 38.4,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Gil Vicente 1-3 FC Porto at 13",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-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-23T04:54:02.000Z",
   "recorded_at": "2026-10-23T05:04:17.221Z",
   "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-94227a5b3b1e3031f139004c",
    "quote_text": "Correct score: 1-3 at 12/1 (13.00)",
    "fragment_from": 5207,
    "fragment_to": 5241,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/gil-vicente-vs-porto-prediction-24-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "ed1358477f94e724b9e897d03e8c99ec9cae2a472ae5654cdb71888fd417bedf",
     "material_removed": false
    },
    "published_at": "2026-10-23T04:54:02.000Z",
    "detected_at": "2026-10-23T05:04:17.221Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-63275223a897",
     "display_name": "Gil Vicente — FC Porto",
     "competition_name": "Primeira Liga",
     "starts_at": "2026-10-24T19:30:00.000Z",
     "url": "/football/matches/gil-vicente-vs-fc-porto-2026-10-24/",
     "scoreline": "0-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Gil Vicente 1-3 FC Porto",
    "odds_set": {
     "by_author": "13",
     "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-23T04:54:02.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-23T04:54:02.000Z",
     "detected_at": "2026-10-23T05:04:17.221Z",
     "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": "Gil Vicente 1-3 FC Porto",
     "author_odds": "13",
     "market_key": "correct_score_market",
     "choice_key": "1-3",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Gil Vicente 1-3 FC Porto at 13"
    },
    "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 Gil Vicente 0-1 FC Porto."
    },
    "settlements": [
     {
      "operation_id": "77335bae99b2583393dca4d8bda7e1f7902970bac6def8eb9fae4eb6da241bd6",
      "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": "Gil Vicente 1-3 FC Porto",
      "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": "790070fbaaee449b82d04a1183c78f05c59c4c0312ff18034d4b683a8631a40a",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Gil Vicente 1-3 FC Porto",
      "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 Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/gil-vicente-vs-porto-prediction-24-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Gil Vicente 1-3 FC Porto"
   }
  },
  {
   "record_id": "n-175a3480aafac7a87761819d",
   "url": "/authors/joshua-ojele/picks/5/#pick-n-175a3480aafac7a87761819d",
   "match": "Estrela Amadora v Casa Pia",
   "match_url": "/football/matches/estrela-amadora-vs-casa-pia-2026-10-24/",
   "kickoff": "2026-10-24T14:30:00.000Z",
   "competition": "Primeira Liga",
   "lead_hours": 41.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Estrela Amadora 2-1 Casa Pia",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-2",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-22T20:18:02.000Z",
   "recorded_at": "2026-10-22T21:10:07.648Z",
   "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.7500",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-175a3480aafac7a87761819d",
    "quote_text": "We say: Estrela Amadora 2-1 Casa Pia",
    "fragment_from": 4695,
    "fragment_to": 4731,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/estrela-amadora/preview/estrela-amadora-vs-casa-pia-prediction-team-news-lineups_607491.html",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "f6127e9333b12ac0d43f299fd354319816905d91628769e073bbd2d838745da2",
     "material_removed": false
    },
    "published_at": "2026-10-22T20:18:02.000Z",
    "detected_at": "2026-10-22T21:10:07.648Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-0807a814d512",
     "display_name": "Estrela Amadora — Casa Pia",
     "competition_name": "Primeira Liga",
     "starts_at": "2026-10-24T14:30:00.000Z",
     "url": "/football/matches/estrela-amadora-vs-casa-pia-2026-10-24/",
     "scoreline": "0-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Estrela Amadora 2-1 Casa Pia",
    "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-22T20:18:02.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-22T20:18:02.000Z",
     "detected_at": "2026-10-22T21:10:07.648Z",
     "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": "Estrela Amadora 2-1 Casa Pia",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Estrela Amadora 2-1 Casa Pia"
    },
    "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 Estrela Amadora 0-2 Casa Pia."
    },
    "settlements": [
     {
      "operation_id": "ec5a5f7b026a8ca929b745546163c6a72bec1657ba0bfce346c4cac108d6f2c6",
      "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": "Estrela Amadora",
      "decimal_odds": "1.7500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-24T00:47:54.407Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joshua Ojele",
     "publisher": "Sports Mole",
     "forecaster": "Joshua Ojele",
     "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/estrela-amadora/preview/estrela-amadora-vs-casa-pia-prediction-team-news-lineups_607491.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Estrela Amadora 2-1 Casa Pia"
   }
  },
  {
   "record_id": "n-9fab97ace7277e3164888ab9",
   "url": "/authors/joshua-ojele/picks/5/#pick-n-9fab97ace7277e3164888ab9",
   "match": "Monaco v SC Freiburg",
   "match_url": "/football/matches/monaco-vs-sc-freiburg-2026-10-22/",
   "kickoff": "2026-10-22T19:00:00.000Z",
   "competition": "UEFA Conference League",
   "lead_hours": 36.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Monaco 3-1 SC Freiburg at 17",
   "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-21T06:35:16.000Z",
   "recorded_at": "2026-10-21T06:44:17.235Z",
   "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-9fab97ace7277e3164888ab9",
    "quote_text": "Correct score: 3-1 at 16/1 (17.00)",
    "fragment_from": 5133,
    "fragment_to": 5167,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/monaco-vs-freiburg-prediction-22-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "9ceb01db3d0b0cb07ca674591c9079fd8ab73c742d6ba25be535754a71db16fd",
     "material_removed": false
    },
    "published_at": "2026-10-21T06:35:16.000Z",
    "detected_at": "2026-10-21T06:44:17.235Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": "",
    "cause_code": "no_price_at_capture",
    "event": {
     "event_id": "s-1215c796ece7",
     "display_name": "Monaco — SC Freiburg",
     "competition_name": "UEFA Conference League",
     "starts_at": "2026-10-22T19:00:00.000Z",
     "url": "/football/matches/monaco-vs-sc-freiburg-2026-10-22/",
     "scoreline": "3-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Monaco 3-1 SC Freiburg",
    "odds_set": {
     "by_author": "17",
     "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-21T06:35:16.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-21T06:35:16.000Z",
     "detected_at": "2026-10-21T06:44:17.235Z",
     "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 3-1 SC Freiburg",
     "author_odds": "17",
     "market_key": "correct_score_market",
     "choice_key": "3-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Monaco 3-1 SC Freiburg at 17"
    },
    "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 Monaco 3-0 SC Freiburg."
    },
    "settlements": [
     {
      "operation_id": "8f02be8b5805dbedc3430ab3bab92b73b80bacd49a7fc66dc0eec8329ca95a31",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Monaco 3-1 SC Freiburg",
      "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": "ac3af144b721afd69d78ef1c5d33c107ed79fd433333f2683d5cfa696dc15692",
      "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": "Monaco",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joshua Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/monaco-vs-freiburg-prediction-22-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Monaco 3-1 SC Freiburg"
   }
  },
  {
   "record_id": "n-1c8da8955592c10b68ba64fd",
   "url": "/authors/joshua-ojele/picks/4/#pick-n-1c8da8955592c10b68ba64fd",
   "match": "Monaco v SC Freiburg",
   "match_url": "/football/matches/monaco-vs-sc-freiburg-2026-10-22/",
   "kickoff": "2026-10-22T19:00:00.000Z",
   "competition": "UEFA Conference League",
   "lead_hours": 36.3,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "3-0",
   "reason": "",
   "reason_code": "not_admitted",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-21T06:35:16.000Z",
   "recorded_at": "2026-10-21T06:44:17.235Z",
   "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-1c8da8955592c10b68ba64fd",
    "quote_text": "Over 2.5 goals",
    "fragment_from": 175,
    "fragment_to": 189,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/monaco-vs-freiburg-prediction-22-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "9ceb01db3d0b0cb07ca674591c9079fd8ab73c742d6ba25be535754a71db16fd",
     "material_removed": false
    },
    "published_at": "2026-10-21T06:35:16.000Z",
    "detected_at": "2026-10-21T06:44:17.235Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": "",
    "cause_code": "no_price_at_capture",
    "event": {
     "event_id": "s-1215c796ece7",
     "display_name": "Monaco — SC Freiburg",
     "competition_name": "UEFA Conference League",
     "starts_at": "2026-10-22T19:00:00.000Z",
     "url": "/football/matches/monaco-vs-sc-freiburg-2026-10-22/",
     "scoreline": "3-0",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "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-21T06:35:16.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-21T06:35:16.000Z",
     "detected_at": "2026-10-21T06:44:17.235Z",
     "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": null,
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: over 2.5"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "3-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Monaco 3-0 SC Freiburg."
    },
    "settlements": [
     {
      "operation_id": "b96281ca159d3753c0eb025b8b7058c8b14a7748804216d5446ad1c16b8e171b",
      "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 Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/monaco-vs-freiburg-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-b05ce1cf03227b97ca4565cd",
   "url": "/authors/joshua-ojele/picks/4/#pick-n-b05ce1cf03227b97ca4565cd",
   "match": "AFC Ajax v Atalanta",
   "match_url": "/football/matches/afc-ajax-vs-atalanta-2026-10-22/",
   "kickoff": "2026-10-22T19:00:00.000Z",
   "competition": "UEFA Conference League",
   "lead_hours": 37.1,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 1.53",
   "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-21T05:47:11.000Z",
   "recorded_at": "2026-10-21T05:54:17.163Z",
   "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-b05ce1cf03227b97ca4565cd",
    "quote_text": "BTTS – Yes at 53/100 (1.53)",
    "fragment_from": 4758,
    "fragment_to": 4785,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/ajax-vs-atalanta-prediction-22-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "720535857961e9ad0d86118451421ccefe8f37a3a8803d3616c8c2fba827d28a",
     "material_removed": false
    },
    "published_at": "2026-10-21T05:47:11.000Z",
    "detected_at": "2026-10-21T05:54:17.163Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-c68b1684a6b4",
     "display_name": "AFC Ajax — Atalanta",
     "competition_name": "UEFA Conference League",
     "starts_at": "2026-10-22T19:00:00.000Z",
     "url": "/football/matches/afc-ajax-vs-atalanta-2026-10-22/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "1.53",
     "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-21T05:47:11.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-21T05:47:11.000Z",
     "detected_at": "2026-10-21T05:54:17.163Z",
     "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": "loss",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was AFC Ajax 2-0 Atalanta."
    },
    "settlements": [
     {
      "operation_id": "b1b0fd6058463f44603aba12b93dbdae5ecdb04399eb94c02f3256899bab0987",
      "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": "eced98e0a3e8f83a03b1d36b24647900223994135abdb725a375a45f652db0de",
      "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 Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/ajax-vs-atalanta-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-f2738c8bc3c6819a9d5552c0",
   "url": "/authors/joshua-ojele/picks/4/#pick-n-f2738c8bc3c6819a9d5552c0",
   "match": "AFC Ajax v Atalanta",
   "match_url": "/football/matches/afc-ajax-vs-atalanta-2026-10-22/",
   "kickoff": "2026-10-22T19:00:00.000Z",
   "competition": "UEFA Conference League",
   "lead_hours": 37.1,
   "market_code": "correct_score_market",
   "author_said": "Correct score: AFC Ajax 2-1 Atalanta",
   "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-21T05:47:11.000Z",
   "recorded_at": "2026-10-21T05:54:17.163Z",
   "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-f2738c8bc3c6819a9d5552c0",
    "quote_text": "Whispers predicts: Ajax 2-1 Atalanta",
    "fragment_from": 4483,
    "fragment_to": 4519,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/ajax-vs-atalanta-prediction-22-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "720535857961e9ad0d86118451421ccefe8f37a3a8803d3616c8c2fba827d28a",
     "material_removed": false
    },
    "published_at": "2026-10-21T05:47:11.000Z",
    "detected_at": "2026-10-21T05:54:17.163Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-c68b1684a6b4",
     "display_name": "AFC Ajax — Atalanta",
     "competition_name": "UEFA Conference League",
     "starts_at": "2026-10-22T19:00:00.000Z",
     "url": "/football/matches/afc-ajax-vs-atalanta-2026-10-22/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "AFC Ajax 2-1 Atalanta",
    "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-21T05:47:11.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-21T05:47:11.000Z",
     "detected_at": "2026-10-21T05:54:17.163Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "AFC Ajax 2-1 Atalanta",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: AFC Ajax 2-1 Atalanta"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was AFC Ajax 2-0 Atalanta."
    },
    "settlements": [
     {
      "operation_id": "0def15c4cd1bc64b1e7a5676a194adb4f8a71a62ed848085df67b688e3829fad",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "AFC Ajax 2-1 Atalanta",
      "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": "d2ec4d06e741c5aab6d0958193ec014e89c9c38120c653c598e4cb10a17d82e0",
      "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": "AFC Ajax",
      "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 Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/ajax-vs-atalanta-prediction-22-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "AFC Ajax 2-1 Atalanta"
   }
  },
  {
   "record_id": "n-779400daa4b2cc0b045de835",
   "url": "/authors/joshua-ojele/picks/4/#pick-n-779400daa4b2cc0b045de835",
   "match": "AFC Ajax v Atalanta",
   "match_url": "/football/matches/afc-ajax-vs-atalanta-2026-10-22/",
   "kickoff": "2026-10-22T19:00:00.000Z",
   "competition": "UEFA Conference League",
   "lead_hours": 37.1,
   "market_code": "1x2",
   "author_said": "1X2, match result: AFC Ajax at 2.1",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "2-0",
   "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-21T05:47:11.000Z",
   "recorded_at": "2026-10-21T05:54:17.163Z",
   "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-779400daa4b2cc0b045de835",
    "quote_text": "secure all three points, which is currently priced at 11/10 (2.10) by the bookies",
    "fragment_from": 4983,
    "fragment_to": 5064,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/ajax-vs-atalanta-prediction-22-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "720535857961e9ad0d86118451421ccefe8f37a3a8803d3616c8c2fba827d28a",
     "material_removed": false
    },
    "published_at": "2026-10-21T05:47:11.000Z",
    "detected_at": "2026-10-21T05:54:17.163Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-c68b1684a6b4",
     "display_name": "AFC Ajax — Atalanta",
     "competition_name": "UEFA Conference League",
     "starts_at": "2026-10-22T19:00:00.000Z",
     "url": "/football/matches/afc-ajax-vs-atalanta-2026-10-22/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "AFC Ajax",
    "odds_set": {
     "by_author": "2.1",
     "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-21T05:47:11.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-21T05:47:11.000Z",
     "detected_at": "2026-10-21T05:54:17.163Z",
     "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": "AFC Ajax",
     "author_odds": "2.1",
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: AFC Ajax at 2.1"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was AFC Ajax 2-0 Atalanta."
    },
    "settlements": [
     {
      "operation_id": "01c7a8484c1c48ea06db0e667e8d74288fe857617538c709cb2bb5f4b814f35d",
      "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": "AFC Ajax",
      "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": "9975e1fa87ad4deb5743b2f9ccb4783fa96d96c1a289b8d025f6a7f0b303631a",
      "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": "AFC Ajax",
      "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 Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/ajax-vs-atalanta-prediction-22-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "AFC Ajax to win"
   }
  },
  {
   "record_id": "n-63391464822e6036d6bb15af",
   "url": "/authors/joshua-ojele/picks/4/#pick-n-63391464822e6036d6bb15af",
   "match": "SC Telstar v Feyenoord",
   "match_url": "/football/matches/sc-telstar-vs-feyenoord-2026-10-17/",
   "kickoff": "2026-10-17T18:00:00.000Z",
   "competition": "Eredivisie",
   "lead_hours": 41.4,
   "market_code": "correct_score_market",
   "author_said": "Correct score: SC Telstar 1-2 Feyenoord at 9",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "3-4",
   "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-16T00:25:10.000Z",
   "recorded_at": "2026-10-16T00:34:13.487Z",
   "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-63391464822e6036d6bb15af",
    "quote_text": "> Correct score: 1-2 at 8/1 (9.00)",
    "fragment_from": 4428,
    "fragment_to": 4462,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/telstar-vs-feyenoord-prediction-17-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "c406e9e93507ac15865314243f9ad65be11722a7cfaf3b6652d2115ebc6dbd69",
     "material_removed": false
    },
    "published_at": "2026-10-16T00:25:10.000Z",
    "detected_at": "2026-10-16T00:34:13.487Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-5dd316f3f90f",
     "display_name": "SC Telstar — Feyenoord",
     "competition_name": "Eredivisie",
     "starts_at": "2026-10-17T18:00:00.000Z",
     "url": "/football/matches/sc-telstar-vs-feyenoord-2026-10-17/",
     "scoreline": "3-4",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "SC Telstar 1-2 Feyenoord",
    "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-16T00:25:10.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-16T00:25:10.000Z",
     "detected_at": "2026-10-16T00:34:13.487Z",
     "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": "SC Telstar 1-2 Feyenoord",
     "author_odds": "9",
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: SC Telstar 1-2 Feyenoord at 9"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-4",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was SC Telstar 3-4 Feyenoord."
    },
    "settlements": [
     {
      "operation_id": "f1672304437fc5c43de6dd4bad8f7750a22f91c1445bee612e0a9312f9a45ae4",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "SC Telstar 1-2 Feyenoord",
      "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": "de5aa2f1d19f4449423a7e472979b33083ae7aa463a963d2257c68ca22f44cdb",
      "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": "Feyenoord",
      "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 Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/telstar-vs-feyenoord-prediction-17-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "SC Telstar 1-2 Feyenoord"
   }
  },
  {
   "record_id": "n-7af182ecfb36904b3bfc3330",
   "url": "/authors/joshua-ojele/picks/4/#pick-n-7af182ecfb36904b3bfc3330",
   "match": "Atalanta v Pafos",
   "match_url": "/football/matches/atalanta-vs-pafos-2026-10-15/",
   "kickoff": "2026-10-15T19:00:00.000Z",
   "competition": "UEFA Conference League",
   "lead_hours": 44.1,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Atalanta 3-1 Pafos at 11",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "3-1",
   "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-13T22:42:45.000Z",
   "recorded_at": "2026-10-13T22:54:14.445Z",
   "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-7af182ecfb36904b3bfc3330",
    "quote_text": "> Correct score: 3-1 at 10/1 (11.00) | Likelihood: Outsider",
    "fragment_from": 5371,
    "fragment_to": 5430,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/atalanta-vs-pafos-fc-prediction-15-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "ae0359dd8223e3176c22a8cf00188013181fd41e1cdbfb5469a2e7968e713381",
     "material_removed": false
    },
    "published_at": "2026-10-13T22:42:45.000Z",
    "detected_at": "2026-10-13T22:54:14.445Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-145f64b397bc",
     "display_name": "Atalanta — Pafos",
     "competition_name": "UEFA Conference League",
     "starts_at": "2026-10-15T19:00:00.000Z",
     "url": "/football/matches/atalanta-vs-pafos-2026-10-15/",
     "scoreline": "3-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Atalanta 3-1 Pafos",
    "odds_set": {
     "by_author": "11",
     "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-13T22:42:45.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-13T22:42:45.000Z",
     "detected_at": "2026-10-13T22:54:14.445Z",
     "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": "Atalanta 3-1 Pafos",
     "author_odds": "11",
     "market_key": "correct_score_market",
     "choice_key": "3-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Atalanta 3-1 Pafos at 11"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "3-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Matched: the final score was Atalanta 3-1 Pafos."
    },
    "settlements": [
     {
      "operation_id": "c8ed0d295cfdf7f525732ad580125511deaab1df1a65e36be424065519928ab4",
      "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": "Atalanta 3-1 Pafos",
      "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": "457401096cbabdca83388842901d4b3761f448481f819075fb6e1c6c01212984",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Atalanta 3-1 Pafos",
      "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 Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/atalanta-vs-pafos-fc-prediction-15-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Atalanta 3-1 Pafos"
   }
  },
  {
   "record_id": "n-35248508a57fa7a0280c30bf",
   "url": "/authors/joshua-ojele/picks/3/#pick-n-35248508a57fa7a0280c30bf",
   "match": "Famalicão v Alverca",
   "match_url": "/football/matches/famalicao-vs-alverca-2026-10-12/",
   "kickoff": "2026-10-12T19:15:00.000Z",
   "competition": "Primeira Liga",
   "lead_hours": 40.1,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Famalicão 2-1 Alverca",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-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-11T02:17:25.000Z",
   "recorded_at": "2026-10-11T03:10:03.919Z",
   "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-35248508a57fa7a0280c30bf",
    "quote_text": "We say: Famalicao 2-1 Alverca",
    "fragment_from": 4960,
    "fragment_to": 4989,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/alverca/preview/famalicao-vs-alverca-prediction-team-news-lineups_606649.html",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "207a0ed8d51ac5715813979deb578d26af47216b070b8c0015adca6f71d23c46",
     "material_removed": false
    },
    "published_at": "2026-10-11T02:17:25.000Z",
    "detected_at": "2026-10-11T03:10:03.919Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-e3327098f683",
     "display_name": "Famalicão — Alverca",
     "competition_name": "Primeira Liga",
     "starts_at": "2026-10-12T19:15:00.000Z",
     "url": "/football/matches/famalicao-vs-alverca-2026-10-12/",
     "scoreline": "1-4",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Famalicão 2-1 Alverca",
    "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-11T02:17:25.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-11T02:17:25.000Z",
     "detected_at": "2026-10-11T03:10:03.919Z",
     "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": "Famalicão 2-1 Alverca",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Famalicão 2-1 Alverca"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-4",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Famalicão 1-4 Alverca."
    },
    "settlements": [
     {
      "operation_id": "783d5350a9848875007d344d3bd921b106de7cf188ce8551de1a4dc11c78f560",
      "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": "Famalicão",
      "decimal_odds": "1.8200",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-23T00:52:44.211Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joshua Ojele",
     "publisher": "Sports Mole",
     "forecaster": "Joshua Ojele",
     "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/alverca/preview/famalicao-vs-alverca-prediction-team-news-lineups_606649.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Famalicão 2-1 Alverca"
   }
  },
  {
   "record_id": "n-7ef1f322f700b316b9cca9bd",
   "url": "/authors/joshua-ojele/picks/3/#pick-n-7ef1f322f700b316b9cca9bd",
   "match": "Benfica v Vitória Guimarães",
   "match_url": "/football/matches/benfica-vs-vitoria-guimaraes-2026-10-11/",
   "kickoff": "2026-10-11T17:00:00.000Z",
   "competition": "Primeira Liga",
   "lead_hours": 43.8,
   "market_code": "1x2",
   "author_said": "1X2, match result: Benfica",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "2-0",
   "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-09T21:03:51.000Z",
   "recorded_at": "2026-10-09T21:12:16.773Z",
   "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-7ef1f322f700b316b9cca9bd",
    "quote_text": "we are siding with the bookmakers here",
    "fragment_from": 4266,
    "fragment_to": 4304,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/benfica-vs-vitoria-guimaraes-prediction-11-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "50aa8a37fdb17b4c5a60206332da97ae3758b43ee19ca1ded27ad1e2e4cf0019",
     "material_removed": false
    },
    "published_at": "2026-10-09T21:03:51.000Z",
    "detected_at": "2026-10-09T21:12:16.773Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-ab34e450c302",
     "display_name": "Benfica — Vitória Guimarães",
     "competition_name": "Primeira Liga",
     "starts_at": "2026-10-11T17:00:00.000Z",
     "url": "/football/matches/benfica-vs-vitoria-guimaraes-2026-10-11/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Benfica",
    "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-09T21:03:51.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-09T21:03:51.000Z",
     "detected_at": "2026-10-09T21:12:16.773Z",
     "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": "Benfica",
     "author_odds": null,
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Benfica"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Benfica 2-0 Vitória Guimarães."
    },
    "settlements": [
     {
      "operation_id": "5ebfe1cde3f825ff57a02dec61f35f443d32d316c66a0447037fbdc3ac749860",
      "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": "Benfica",
      "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
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joshua Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/benfica-vs-vitoria-guimaraes-prediction-11-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Benfica to win"
   }
  },
  {
   "record_id": "n-b2ca1a23e7292e1d7b35ba8f",
   "url": "/authors/joshua-ojele/picks/3/#pick-n-b2ca1a23e7292e1d7b35ba8f",
   "match": "Benfica v Vitória Guimarães",
   "match_url": "/football/matches/benfica-vs-vitoria-guimaraes-2026-10-11/",
   "kickoff": "2026-10-11T17:00:00.000Z",
   "competition": "Primeira Liga",
   "lead_hours": 43.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Benfica 2-0 Vitória Guimarães at 7",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "2-0",
   "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-09T21:03:51.000Z",
   "recorded_at": "2026-10-09T21:12:16.773Z",
   "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-b2ca1a23e7292e1d7b35ba8f",
    "quote_text": "Correct score: 2-0 at 6/1 (7.00) | Likelihood: Outsider",
    "fragment_from": 4884,
    "fragment_to": 4939,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/benfica-vs-vitoria-guimaraes-prediction-11-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "50aa8a37fdb17b4c5a60206332da97ae3758b43ee19ca1ded27ad1e2e4cf0019",
     "material_removed": false
    },
    "published_at": "2026-10-09T21:03:51.000Z",
    "detected_at": "2026-10-09T21:12:16.773Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "recognised",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-ab34e450c302",
     "display_name": "Benfica — Vitória Guimarães",
     "competition_name": "Primeira Liga",
     "starts_at": "2026-10-11T17:00:00.000Z",
     "url": "/football/matches/benfica-vs-vitoria-guimaraes-2026-10-11/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Benfica 2-0 Vitória Guimarães",
    "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": "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-09T21:03:51.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-09T21:03:51.000Z",
     "detected_at": "2026-10-09T21:12:16.773Z",
     "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": "Benfica 2-0 Vitória Guimarães",
     "author_odds": "7",
     "market_key": "correct_score_market",
     "choice_key": "2-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Benfica 2-0 Vitória Guimarães at 7"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Matched: the final score was Benfica 2-0 Vitória Guimarães."
    },
    "settlements": [
     {
      "operation_id": "15f7c05f22f941484e1c5522c02cbe95d81e21336e23a69ac162e0c2bc780a13",
      "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": "Benfica 2-0 Vitória Guimarães",
      "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": "ea982cd51f69ff56a7ec3abd12cf76ead1c6c37bd27e22e8e0dc0bdcc771405f",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Benfica 2-0 Vitória Guimarães",
      "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
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joshua Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/benfica-vs-vitoria-guimaraes-prediction-11-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Benfica 2-0 Vitória Guimarães"
   }
  },
  {
   "record_id": "n-d8e98bf98c892f1b217b91ac",
   "url": "/authors/joshua-ojele/picks/2/#pick-n-d8e98bf98c892f1b217b91ac",
   "match": "Feyenoord v AZ Alkmaar",
   "match_url": "/football/matches/feyenoord-vs-az-alkmaar-2026-10-10/",
   "kickoff": "2026-10-10T16:45:00.000Z",
   "competition": "Eredivisie",
   "lead_hours": 49.5,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Feyenoord 2-1 AZ Alkmaar",
   "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-08T15:12:01.000Z",
   "recorded_at": "2026-10-08T15:17:03.431Z",
   "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-d8e98bf98c892f1b217b91ac",
    "quote_text": "Whispers’ prediction: Feyenoord 2-1 AZ Alkmaar",
    "fragment_from": 4056,
    "fragment_to": 4102,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/feyenoord-vs-az-alkmaar-prediction-10-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "5821114761f02cd4884bb100227ea85f358a3e2689b95c6c89587da72e204176",
     "material_removed": false
    },
    "published_at": "2026-10-08T15:12:01.000Z",
    "detected_at": "2026-10-08T15:17:03.431Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "ambiguous",
    "event": {
     "event_id": "s-c6205886907a",
     "display_name": "Feyenoord — AZ Alkmaar",
     "competition_name": "Eredivisie",
     "starts_at": "2026-10-10T16:45:00.000Z",
     "url": "/football/matches/feyenoord-vs-az-alkmaar-2026-10-10/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Feyenoord 2-1 AZ Alkmaar",
    "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-08T15:12:01.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-08T15:12:01.000Z",
     "detected_at": "2026-10-08T15:17:03.431Z",
     "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": "Feyenoord 2-1 AZ Alkmaar",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Feyenoord 2-1 AZ Alkmaar"
    },
    "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 Feyenoord 2-0 AZ Alkmaar."
    },
    "settlements": [
     {
      "operation_id": "c97eaacee9c918d7b24ebf305bf56e13d53c016a126ac504983884d44ae49ed6",
      "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": "Feyenoord",
      "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 Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/feyenoord-vs-az-alkmaar-prediction-10-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Feyenoord 2-1 AZ Alkmaar"
   }
  },
  {
   "record_id": "n-e8a2f2c37f2c13b99fd95c78",
   "url": "/authors/joshua-ojele/picks/2/#pick-n-e8a2f2c37f2c13b99fd95c78",
   "match": "Botafogo v Vasco da Gama",
   "match_url": "/football/matches/botafogo-vs-vasco-da-gama-2026-10-07/",
   "kickoff": "2026-10-07T23:30:00.000Z",
   "competition": "Brasileiro Série A",
   "lead_hours": 39.4,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Botafogo 1-1 Vasco da Gama",
   "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-06T07:40:00.000Z",
   "recorded_at": "2026-10-06T08:06:51.102Z",
   "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.4500",
    "result": "Won",
    "points_hundredths": 14500,
    "picked_favourite": false
   },
   "platform": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-e8a2f2c37f2c13b99fd95c78",
    "quote_text": "We say: Botafogo 1-1 Vasco da Gama",
    "fragment_from": 4705,
    "fragment_to": 4739,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/botafogo/preview/botafogo-vs-vasco-prediction-team-news-lineups_606306.html",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "858e0df9300e473224e21a33345e66425bdd3095c1a6a3ec11c2ac19ccc52646",
     "material_removed": false
    },
    "published_at": "2026-10-06T07:40:00.000Z",
    "detected_at": "2026-10-06T08:06:51.102Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-7af9f0410353",
     "display_name": "Botafogo — Vasco da Gama",
     "competition_name": "Brasileiro Série A",
     "starts_at": "2026-10-07T23:30:00.000Z",
     "url": "/football/matches/botafogo-vs-vasco-da-gama-2026-10-07/",
     "scoreline": "1-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Botafogo 1-1 Vasco da Gama",
    "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-06T07:40:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-06T07:40:00.000Z",
     "detected_at": "2026-10-06T08:06:51.102Z",
     "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": "Botafogo 1-1 Vasco da Gama",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Botafogo 1-1 Vasco da Gama"
    },
    "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 Botafogo 1-2 Vasco da Gama."
    },
    "settlements": [
     {
      "operation_id": "3db0742f851a52cfd144b7ae84b646357a2d5d745e33cd511686c8abc82221dc",
      "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.4050",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-07T03:38:47.225Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joshua Ojele",
     "publisher": "Sports Mole",
     "forecaster": "Joshua Ojele",
     "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/botafogo/preview/botafogo-vs-vasco-prediction-team-news-lineups_606306.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Botafogo 1-1 Vasco da Gama"
   }
  },
  {
   "record_id": "n-e4a90dc322204077f5e6a908",
   "url": "/authors/joshua-ojele/picks/2/#pick-n-e4a90dc322204077f5e6a908",
   "match": "Albania v San Marino",
   "match_url": null,
   "kickoff": "2026-10-06T18:45:00.000Z",
   "competition": "UEFA Nations League",
   "lead_hours": 44.5,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Albania 4-0 San Marino at 6",
   "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-04T22:05:38.000Z",
   "recorded_at": "2026-10-04T22:13:10.243Z",
   "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-e4a90dc322204077f5e6a908",
    "quote_text": "correct score of 4-0 at 5/1 (6.00)",
    "fragment_from": 4390,
    "fragment_to": 4424,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/albania-vs-san-marino-prediction-06-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "2e76630b13fae01ab91bc5235e0b2fa99fcc6cb415125bc8a1f84acc11f6a355",
     "material_removed": false
    },
    "published_at": "2026-10-04T22:05:38.000Z",
    "detected_at": "2026-10-04T22:13:10.243Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "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": "6",
     "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-04T22:05:38.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-04T22:05:38.000Z",
     "detected_at": "2026-10-04T22:13:10.243Z",
     "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": "6",
     "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 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 Albania 2-1 San Marino."
    },
    "settlements": [
     {
      "operation_id": "87c6e578491b9201ca0dae3c47b1213c2ad15632f8b0c93ff67540095b32ce9a",
      "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": "Albania 4-0 San Marino",
      "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": "93bf1e5f58e9b3101efdeef27e3f9178ed2441286e0e0b22210fb3db84de93a0",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Albania 4-0 San Marino",
      "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 Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/albania-vs-san-marino-prediction-06-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Albania 4-0 San Marino"
   }
  },
  {
   "record_id": "n-57feceef2dc01d2ad65e2099",
   "url": "/authors/joshua-ojele/picks/2/#pick-n-57feceef2dc01d2ad65e2099",
   "match": "Albania v San Marino",
   "match_url": null,
   "kickoff": "2026-10-06T18:45:00.000Z",
   "competition": "UEFA Nations League",
   "lead_hours": 44.5,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: no at 1.3",
   "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-04T22:05:38.000Z",
   "recorded_at": "2026-10-04T22:13:10.243Z",
   "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-57feceef2dc01d2ad65e2099",
    "quote_text": "BTTS – No at 3/10 (1.30)",
    "fragment_from": 4253,
    "fragment_to": 4277,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/albania-vs-san-marino-prediction-06-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "2e76630b13fae01ab91bc5235e0b2fa99fcc6cb415125bc8a1f84acc11f6a355",
     "material_removed": false
    },
    "published_at": "2026-10-04T22:05:38.000Z",
    "detected_at": "2026-10-04T22:13:10.243Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "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": "Both teams to score",
    "outcome_label": "no",
    "odds_set": {
     "by_author": "1.3",
     "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-04T22:05:38.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-04T22:05:38.000Z",
     "detected_at": "2026-10-04T22:13:10.243Z",
     "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": "no",
     "author_odds": "1.3",
     "market_key": "both_teams_score",
     "choice_key": "no",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: no at 1.3"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Albania 2-1 San Marino."
    },
    "settlements": [
     {
      "operation_id": "03dbf535a8dd6ca3245b49f3e0c20cc7b564b1be0f4c8568893e92dc091ac924",
      "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": "no",
      "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": "07a9012546dee4b81b7fe205dee9f85d550e5d5e5ddea7674b74d30e1ab93c33",
      "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": "no",
      "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 Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/albania-vs-san-marino-prediction-06-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "no (Both teams to score)"
   }
  },
  {
   "record_id": "n-ac98e982c236c28643bd2ae7",
   "url": "/authors/joshua-ojele/picks/2/#pick-n-ac98e982c236c28643bd2ae7",
   "match": "Albania v San Marino",
   "match_url": null,
   "kickoff": "2026-10-06T18:45:00.000Z",
   "competition": "UEFA Nations League",
   "lead_hours": 44.5,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 1.2",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "2-1",
   "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-04T22:05:38.000Z",
   "recorded_at": "2026-10-04T22:13:10.243Z",
   "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-ac98e982c236c28643bd2ae7",
    "quote_text": "over 2.5 goals at 1/5 (1.20)",
    "fragment_from": 4301,
    "fragment_to": 4329,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/albania-vs-san-marino-prediction-06-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "2e76630b13fae01ab91bc5235e0b2fa99fcc6cb415125bc8a1f84acc11f6a355",
     "material_removed": false
    },
    "published_at": "2026-10-04T22:05:38.000Z",
    "detected_at": "2026-10-04T22:13:10.243Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "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": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": "1.2",
     "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-04T22:05:38.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-04T22:05:38.000Z",
     "detected_at": "2026-10-04T22:13:10.243Z",
     "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.2",
     "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.2"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Albania 2-1 San Marino."
    },
    "settlements": [
     {
      "operation_id": "2c961757738dc7404b941f261323118792074845d54cc4111fb78f64be647c17",
      "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": "4512aa88a13265eb458fac28db2da00c7acede7204d52f1eb221fe02e55ea556",
      "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 Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/albania-vs-san-marino-prediction-06-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-f16b14947a8a76c36eab39c2",
   "url": "/authors/joshua-ojele/picks/2/#pick-n-f16b14947a8a76c36eab39c2",
   "match": "Belarus v Finland",
   "match_url": null,
   "kickoff": "2026-10-06T18:45:00.000Z",
   "competition": "UEFA Nations League",
   "lead_hours": 44.7,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-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-04T21:49:07.000Z",
   "recorded_at": "2026-10-04T22:01:19.520Z",
   "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-f16b14947a8a76c36eab39c2",
    "quote_text": "Over 2.5 goals",
    "fragment_from": 151,
    "fragment_to": 165,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/belarus-vs-finland-prediction-06-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d137d2db5dd32933177bbce89852ecc1525a2ba52a67e152af025ec2a2372207",
     "material_removed": false
    },
    "published_at": "2026-10-04T21:49:07.000Z",
    "detected_at": "2026-10-04T22:01:19.520Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "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": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "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-04T21:49:07.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-04T21:49:07.000Z",
     "detected_at": "2026-10-04T22:01:19.520Z",
     "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": null,
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: over 2.5"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Belarus 1-0 Finland."
    },
    "settlements": [
     {
      "operation_id": "99e1ca9572f957b4f27bde93df345bea585b48822ba95da2def563664071ab0b",
      "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 Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/belarus-vs-finland-prediction-06-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-6a98df800cb6d448d89ed93e",
   "url": "/authors/joshua-ojele/picks/2/#pick-n-6a98df800cb6d448d89ed93e",
   "match": "Belarus v Finland",
   "match_url": null,
   "kickoff": "2026-10-06T18:45:00.000Z",
   "competition": "UEFA Nations League",
   "lead_hours": 44.7,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Belarus 1-2 Finland at 9.5",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-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-04T21:49:07.000Z",
   "recorded_at": "2026-10-04T22:01:19.520Z",
   "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-6a98df800cb6d448d89ed93e",
    "quote_text": "Correct score: 1-2 at 17/2 (9.50)",
    "fragment_from": 5113,
    "fragment_to": 5146,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/belarus-vs-finland-prediction-06-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d137d2db5dd32933177bbce89852ecc1525a2ba52a67e152af025ec2a2372207",
     "material_removed": false
    },
    "published_at": "2026-10-04T21:49:07.000Z",
    "detected_at": "2026-10-04T22:01:19.520Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "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 1-2 Finland",
    "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-10-04T21:49:07.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-04T21:49:07.000Z",
     "detected_at": "2026-10-04T22:01:19.520Z",
     "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 1-2 Finland",
     "author_odds": "9.5",
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Belarus 1-2 Finland at 9.5"
    },
    "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": "7400fd0860cd607174517bda333e573a72ffb3ec0a26bdf648e651934cc49523",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Belarus 1-2 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": true,
      "replaced": false
     },
     {
      "operation_id": "feb61aebe026c9949e1f9e0f6b40444a781695ae491e521a6cc340e0a9bdab04",
      "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 Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/belarus-vs-finland-prediction-06-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Belarus 1-2 Finland"
   }
  },
  {
   "record_id": "n-b9143ba855d5c43704e222c8",
   "url": "/authors/joshua-ojele/picks/2/#pick-n-b9143ba855d5c43704e222c8",
   "match": "Belarus v Finland",
   "match_url": null,
   "kickoff": "2026-10-06T18:45:00.000Z",
   "competition": "UEFA Nations League",
   "lead_hours": 44.7,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 2",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-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-04T21:49:07.000Z",
   "recorded_at": "2026-10-04T22:01:19.520Z",
   "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-b9143ba855d5c43704e222c8",
    "quote_text": "BTTS – Yes at 1/1 (2.00)",
    "fragment_from": 4721,
    "fragment_to": 4745,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/belarus-vs-finland-prediction-06-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d137d2db5dd32933177bbce89852ecc1525a2ba52a67e152af025ec2a2372207",
     "material_removed": false
    },
    "published_at": "2026-10-04T21:49:07.000Z",
    "detected_at": "2026-10-04T22:01:19.520Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "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": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "2",
     "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-04T21:49:07.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-04T21:49:07.000Z",
     "detected_at": "2026-10-04T22:01:19.520Z",
     "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": "2",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 2"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Belarus 1-0 Finland."
    },
    "settlements": [
     {
      "operation_id": "96e653a645ff40fa95a7f4793749b931e60f550c8b2896b54a43ecf3bd6deda8",
      "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": "cb2829258e59c6737b4fe5ecb987fed6e0418885b3ceeda7e3511678ba0f6edb",
      "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 Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/belarus-vs-finland-prediction-06-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-ee4e89e804f4ee730c60294f",
   "url": "/authors/joshua-ojele/picks/2/#pick-n-ee4e89e804f4ee730c60294f",
   "match": "Belarus v Finland",
   "match_url": null,
   "kickoff": "2026-10-06T18:45:00.000Z",
   "competition": "UEFA Nations League",
   "lead_hours": 44.7,
   "market_code": "1x2",
   "author_said": "1X2, match result: Finland at 2",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-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-04T21:49:07.000Z",
   "recorded_at": "2026-10-04T22:01:19.520Z",
   "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-ee4e89e804f4ee730c60294f",
    "quote_text": "Match result: Finland to win at 1/1 (2.00)",
    "fragment_from": 4993,
    "fragment_to": 5035,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/belarus-vs-finland-prediction-06-10-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d137d2db5dd32933177bbce89852ecc1525a2ba52a67e152af025ec2a2372207",
     "material_removed": false
    },
    "published_at": "2026-10-04T21:49:07.000Z",
    "detected_at": "2026-10-04T22:01:19.520Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "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": "1X2, match result",
    "outcome_label": "Finland",
    "odds_set": {
     "by_author": "2",
     "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-04T21:49:07.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-04T21:49:07.000Z",
     "detected_at": "2026-10-04T22:01:19.520Z",
     "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": "Finland",
     "author_odds": "2",
     "market_key": "1x2",
     "choice_key": "2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Finland at 2"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Belarus 1-0 Finland."
    },
    "settlements": [
     {
      "operation_id": "2acf65a8c16e08a0c16c00145635c7befe946033d65a5e445e7b3c6f3ce03f89",
      "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": "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": true,
      "replaced": false
     },
     {
      "operation_id": "5d1e6602606e51e693b14caee589b215abed582155bf27d342b0e05e6b2c6164",
      "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": "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": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joshua Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/belarus-vs-finland-prediction-06-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Finland to win"
   }
  },
  {
   "record_id": "n-282217c381f24e9d16c471c4",
   "url": "/authors/joshua-ojele/picks/2/#pick-n-282217c381f24e9d16c471c4",
   "match": "Morocco v Mali",
   "match_url": "/football/matches/morocco-vs-mali-2026-10-04/",
   "kickoff": "2026-10-04T18:00:00.000Z",
   "competition": "International Soccer",
   "lead_hours": 28.0,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Morocco 2-1 Mali",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-03T13:31:46.000Z",
   "recorded_at": "2026-10-03T14:01:23.180Z",
   "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.4464",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-282217c381f24e9d16c471c4",
    "quote_text": "We say: Morocco 2-1 Mali",
    "fragment_from": 5239,
    "fragment_to": 5263,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/morocco/preview/morocco-vs-mali-prediction-team-news-lineups_606167.html",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "6f8b7825aa1a90c2d27fb295d95159210e4fa011a810fbc6377cc54bd49f38ce",
     "material_removed": false
    },
    "published_at": "2026-10-03T13:31:46.000Z",
    "detected_at": "2026-10-03T14:01:23.180Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-ae133e28f9ef",
     "display_name": "Morocco — Mali",
     "competition_name": "International Soccer",
     "starts_at": "2026-10-04T18:00:00.000Z",
     "url": "/football/matches/morocco-vs-mali-2026-10-04/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Morocco 2-1 Mali",
    "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-03T13:31:46.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-03T13:31:46.000Z",
     "detected_at": "2026-10-03T14:01:23.180Z",
     "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": "Morocco 2-1 Mali",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Morocco 2-1 Mali"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Morocco 1-1 Mali."
    },
    "settlements": [
     {
      "operation_id": "77695c5b0775cbec2fff559461e725e1f448601b2391001f7428e0d718cf814e",
      "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": "Morocco",
      "decimal_odds": "1.4464",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-04T02:46:56.384Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joshua Ojele",
     "publisher": "Sports Mole",
     "forecaster": "Joshua Ojele",
     "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/morocco/preview/morocco-vs-mali-prediction-team-news-lineups_606167.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Morocco 2-1 Mali"
   }
  },
  {
   "record_id": "n-230cf18d63d52af900a68f72",
   "url": "/authors/joshua-ojele/picks/2/#pick-n-230cf18d63d52af900a68f72",
   "match": "USA v Chile",
   "match_url": "/football/matches/usa-vs-chile-2026-09-30/",
   "kickoff": "2026-09-30T00:00:00.000Z",
   "competition": "International Soccer",
   "lead_hours": 40.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: USA 3-1 Chile at 12",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "4-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-09-28T07:07:13.000Z",
   "recorded_at": "2026-09-28T07:10:59.068Z",
   "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-230cf18d63d52af900a68f72",
    "quote_text": "correct score of 3-1 at 11/1 (12.00)",
    "fragment_from": 4358,
    "fragment_to": 4394,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/usa-vs-chile-prediction-29-09-2026/",
     "display_name": null,
     "speaker": "Joshua Ojele",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "e9e2769eeb5531e6c49ba53ae06bdc0ddf4ffef9b02441528be053cda2ae8640",
     "material_removed": false
    },
    "published_at": "2026-09-28T07:07:13.000Z",
    "detected_at": "2026-09-28T07:10:59.068Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-c4758ee87917",
     "display_name": "USA — Chile",
     "competition_name": "International Soccer",
     "starts_at": "2026-09-30T00:00:00.000Z",
     "url": "/football/matches/usa-vs-chile-2026-09-30/",
     "scoreline": "4-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "USA 3-1 Chile",
    "odds_set": {
     "by_author": "12",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-09-28T07:07:13.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-09-28T07:07:13.000Z",
     "detected_at": "2026-09-28T07:10:59.068Z",
     "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": "USA 3-1 Chile",
     "author_odds": "12",
     "market_key": "correct_score_market",
     "choice_key": "3-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: USA 3-1 Chile at 12"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "4-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was USA 4-2 Chile."
    },
    "settlements": [
     {
      "operation_id": "42cf9fe58add9f21157b46eb6423ce877daaa5b7cbccfb3479f8b7771fc980f8",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "USA 3-1 Chile",
      "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": "5fe10c998d92db2011ad4bfed50e070929ab92f9f9e452d21224cecf2a75c799",
      "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": "USA",
      "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 Ojele",
     "publisher": "Football Whispers",
     "forecaster": "Joshua Ojele",
     "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/usa-vs-chile-prediction-29-09-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "USA 3-1 Chile"
   }
  },
  {
   "record_id": "n-ade51b0fbe6dc48a5c811fb8",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "the correct score market has a correct score of 1-2 at 17/2 (9.50).",
   "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-07T09:27:39.000Z",
   "recorded_at": "2026-11-07T09:34:21.687Z",
   "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-bf4dd170f867ddd2a4304043",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "PSV to win + BTTS – Yes sits at 6/5 (2.20), which is the high-value punt for us",
   "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-07T09:27:39.000Z",
   "recorded_at": "2026-11-07T09:34:21.687Z",
   "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-da2b830a4d87f0ee8db1f164",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "we are backing them to secure all three points, which is currently priced at 2/5 (1.40).",
   "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-07T09:27:39.000Z",
   "recorded_at": "2026-11-07T09:34:21.687Z",
   "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-1b79263fd65a5e35c609055d",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "we fancy BTTS – Yes at 11/25 (1.44)",
   "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-07T09:27:39.000Z",
   "recorded_at": "2026-11-07T09:34:21.687Z",
   "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-20d500eb433568dc39eb8be7",
   "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/25 (1.28) | Likelihood: Possible",
   "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-07T09:27:39.000Z",
   "recorded_at": "2026-11-07T09:34:21.687Z",
   "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-9ae78339785129955a1f5536",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "correct score market has a correct score of 0-2 at 13/2 (7.50)",
   "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-07T02:36:45.000Z",
   "recorded_at": "2026-11-07T02:47:45.349Z",
   "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-81fba72ec114fe5d8d21292c",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "HT/FT – 2/2 is priced at 7/5 (2.40), which is the high-value option for us",
   "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-07T02:36:45.000Z",
   "recorded_at": "2026-11-07T02:47:45.349Z",
   "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-7cffaff5dcaa61cd5181b96a",
   "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/20 (1.95) is another tempting option",
   "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-07T02:36:45.000Z",
   "recorded_at": "2026-11-07T02:47:45.349Z",
   "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-5c35666ced7e9ad804bce313",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "we predict BTTS – No at 4/5 (1.80)",
   "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-07T02:36:45.000Z",
   "recorded_at": "2026-11-07T02:47:45.349Z",
   "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-3f7b56c5cf8e264b5923bebc",
   "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 11/25 (1.44)",
   "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-07T01:24:44.000Z",
   "recorded_at": "2026-11-07T01:34:28.117Z",
   "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-e69b62a0b76ce87843ae3179",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Benfica to win + BTTS – No at 6/5 (2.20)",
   "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-07T01:24:44.000Z",
   "recorded_at": "2026-11-07T01:34:28.117Z",
   "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-faa41e221b292c569ecc22a8",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Correct score: 0-3 at 15/2 (8.50)",
   "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-07T01:24:44.000Z",
   "recorded_at": "2026-11-07T01:34:28.117Z",
   "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-4e9cd830d9bc055bca0c4e61",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "HT/FT - 2/2",
   "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-07T01:24:44.000Z",
   "recorded_at": "2026-11-07T01:34:28.117Z",
   "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-721a6ebb4732ac84ba7f95f6",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Real Salt Lake 2-2 Los Angeles Galaxy",
   "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-06T07:57:47.000Z",
   "recorded_at": "2026-11-06T08:09:58.190Z",
   "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-9cf3f6f328efb08e90bd7d3a",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Aarhus 0-2 Braga",
   "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-04T02:15:15.000Z",
   "recorded_at": "2026-11-04T03:10:30.657Z",
   "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-204a0988c27c3ee766e6ccc0",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "the correct score market has a correct score of 3-0 at 11/2 (6.50).",
   "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:43:56.000Z",
   "recorded_at": "2026-10-29T21:54:17.218Z",
   "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-945478ceb0babed04d50fbc8",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "we predict Porto to win + BTTS – No at 33/50 (1.66)",
   "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:43:56.000Z",
   "recorded_at": "2026-10-29T21:54:17.218Z",
   "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-af82a80f3205b0c180c4e113",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "while HT/FT – 1/1 at 33/50 (1.66) is our third pick of the game.",
   "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:43:56.000Z",
   "recorded_at": "2026-10-29T21:54:17.218Z",
   "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-76614211e135942929be7a1e",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "making over 2.5 goals at 18/25 (1.72) a favourable punt",
   "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:43:56.000Z",
   "recorded_at": "2026-10-29T21:54:17.218Z",
   "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-1bebe3b2728fa2e3c69c10d6",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "we predict the visitors’ superior quality across the pitch will see them emerge with a commanding victory, which currently sits at 17/100 (1.17).",
   "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:43:56.000Z",
   "recorded_at": "2026-10-29T21:54:17.218Z",
   "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-acba26ea92cc8b17eb1f6985",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "🔥 Our Hot tip\n\nPorto to win both halves",
   "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:43:56.000Z",
   "recorded_at": "2026-10-29T21:54:17.218Z",
   "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-b4d006ba17e92ba7a12b44f9",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "while HT/FT – 2/2 at 21/20 (2.05) is our third pick of the game.",
   "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-24T05:34:37.000Z",
   "recorded_at": "2026-10-24T05:44:17.473Z",
   "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-2e1622fe556a39c6e01d1e36",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Estoril Praia 2-2 Moreirense",
   "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-23T20:33:41.000Z",
   "recorded_at": "2026-10-23T21:10:06.262Z",
   "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-2917a7b0c45bbc0703a13323",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Goal range – 2-4 goals at 53/100 (1.53)",
   "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-21T06:35:16.000Z",
   "recorded_at": "2026-10-21T06:44:17.235Z",
   "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-19d43b4c666fcee3aa71f8c2",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Goal range – 2-4 goals at 33/50 (1.66)",
   "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-16T00:25:10.000Z",
   "recorded_at": "2026-10-16T00:34:13.487Z",
   "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-649a69cbbda245399380d5cf",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "BTTS – Yes at 57/100 (1.57)",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-16T00:25:10.000Z",
   "recorded_at": "2026-10-16T00:34:13.487Z",
   "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-eb90556ef6de7b229fb55ba5",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "with the visitors claiming all three points, which is priced at 33/100 (1.33) by the bookies.",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-16T00:25:10.000Z",
   "recorded_at": "2026-10-16T00:34:13.487Z",
   "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-4dd98048feae32bd173ef09f",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "while 2/2 at 83/100 (1.83) is our third pick of the game.",
   "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-16T00:25:10.000Z",
   "recorded_at": "2026-10-16T00:34:13.487Z",
   "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-248059989dd1fea466789666",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "our third pick of the game is HT/FT – 1/1 at 18/25 (1.72)",
   "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-15T23:21:55.000Z",
   "recorded_at": "2026-10-15T23:24:13.138Z",
   "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-5755bd829f4c636f339ca75c",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "> PSV to win + BTTS – Yes at 7/4 (2.75)",
   "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-15T23:21:55.000Z",
   "recorded_at": "2026-10-15T23:24:13.138Z",
   "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-db2b795d47a5e9f4fabf1148",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "> Correct score: 1-3 at 9/1 (10.00)",
   "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-15T23:21:55.000Z",
   "recorded_at": "2026-10-15T23:24:13.138Z",
   "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-545be25cd803f175b06d9653",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "PSV are the bookmakers’ clear favourites to come away with all three points at 1/4 (1.25), and we are siding with the bookies here.",
   "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-15T23:21:55.000Z",
   "recorded_at": "2026-10-15T23:24:13.138Z",
   "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-bbc7729593ef60bb7c7bcef8",
   "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 – Yes at 1/4 (1.25)",
   "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-15T23:21:55.000Z",
   "recorded_at": "2026-10-15T23:24:13.138Z",
   "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-32a5c3c282ed198fe2b74bd9",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "> Goal range – 2-4 goals at 57/100 (1.57) | Likelihood: Possible",
   "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-13T22:42:45.000Z",
   "recorded_at": "2026-10-13T22:54:14.445Z",
   "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-8522f172cdc7b3e97871727b",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Atalanta to win + BTTS – Yes at 187/100 (2.87) is a safe high-value option",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-13T22:42:45.000Z",
   "recorded_at": "2026-10-13T22:54:14.445Z",
   "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-0d6deadfc4eab547799c02c0",
   "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 53/10 (1.53) is our third pick of the game.",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-13T22:42:45.000Z",
   "recorded_at": "2026-10-13T22:54:14.445Z",
   "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-62db2bc53acb971c9f41fbc4",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "we are backing them to carry the day in front of their home supporters, which is currently priced at 9/25 (1.36) by the bookmakers.",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-13T22:42:45.000Z",
   "recorded_at": "2026-10-13T22:54:14.445Z",
   "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-71aa4ae13f71931531101204",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Sarri’s men have failed to keep a clean sheet in their last four games, and BTTS – Yes at 4/5 (1.80) to score is another favourable point",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-13T22:42:45.000Z",
   "recorded_at": "2026-10-13T22:54:14.445Z",
   "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-a049d20e46a4d70af94ec562",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Al-Ahli 1-2 Al-Nassr",
   "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-13T20:55:58.000Z",
   "recorded_at": "2026-10-13T21:09:55.398Z",
   "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-2e046f485f5bc49c877ce832",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Goal range – 2-4 goals at 57/100 (1.57)",
   "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-09T21:03:51.000Z",
   "recorded_at": "2026-10-09T21:12:16.773Z",
   "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-b976c9d74f367b199adf0537",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "HT/FT 1/1 at 33/50 (1.66) is a tempting pick",
   "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-09T21:03:51.000Z",
   "recorded_at": "2026-10-09T21:12:16.773Z",
   "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-14ae2cb8d6aa3148341c94bc",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "With Maritimo trailing in four of their most recent five matches, HT/FT – Porto/Porto at 9/10 (1.90) is another favourable option",
   "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-08T17:09:43.000Z",
   "recorded_at": "2026-10-08T17:23:06.165Z",
   "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-7e8e88f751b34acd1666f049",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "> Goal range – 2-4 goals at 57/100 (1.57)| Likelihood: Possible",
   "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-08T15:12:01.000Z",
   "recorded_at": "2026-10-08T15:17:03.431Z",
   "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-4728313e0b851abf417de513",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "HT/FT - 1/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-10-04T22:05:38.000Z",
   "recorded_at": "2026-10-04T22:13:10.243Z",
   "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-4b30d7009e78d4d9f788e43c",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "we are backing Vieira’s men to come away with a comfortable victory at the Bahir Dar International Stadium on Tuesday.",
   "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-27T22:59:32.000Z",
   "recorded_at": "2026-09-27T23:12:15.391Z",
   "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-f1478c9917873c0827bef367",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Ethiopia 0-3 Senegal",
   "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-27T22:59:32.000Z",
   "recorded_at": "2026-09-27T23:12:15.391Z",
   "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
  }
 ],
 "lead_time": {
  "contract_version": 1,
  "threshold_hours": 2.0,
  "picks": 75,
  "before_kickoff": 75,
  "after_kickoff": 0,
  "at_least_2h": 75,
  "share_2h_plus": 100.0,
  "median_hours": 38.4,
  "min_hours": 28.0,
  "max_hours": 49.5,
  "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": 9,
  "settled_picks_all": 24,
  "excluded": {
   "market_without_favourite": 3,
   "no_recorded_line": 12,
   "favourite_not_settled": 0
  },
  "staked_hundredths": 90000,
  "author_net_hundredths": -19545,
  "favourite_net_hundredths": 21905,
  "difference_hundredths": -41450,
  "author_return_percent": -21.72,
  "favourite_return_percent": 24.34,
  "author_hit_rate": 44.4,
  "favourite_hit_rate": 66.7,
  "picked_favourite_share": 77.8,
  "by_market": [
   {
    "market_code": "1x2",
    "picks": 6,
    "staked_hundredths": 60000,
    "author_net_hundredths": -4950,
    "favourite_net_hundredths": 19550,
    "author_hits": 3,
    "favourite_hits": 4,
    "picked_favourite": 5,
    "author_return_percent": -8.25,
    "favourite_return_percent": 32.58
   },
   {
    "market_code": "both_teams_score",
    "picks": 2,
    "staked_hundredths": 20000,
    "author_net_hundredths": -4595,
    "favourite_net_hundredths": 12355,
    "author_hits": 1,
    "favourite_hits": 2,
    "picked_favourite": 1,
    "author_return_percent": -22.98,
    "favourite_return_percent": 61.77
   },
   {
    "market_code": "total",
    "picks": 1,
    "staked_hundredths": 10000,
    "author_net_hundredths": -10000,
    "favourite_net_hundredths": -10000,
    "author_hits": 0,
    "favourite_hits": 0,
    "picked_favourite": 1,
    "author_return_percent": -100.0,
    "favourite_return_percent": -100.0
   }
  ],
  "return_over_time": [
   {
    "kickoff": "2026-10-04T18:00:00.000Z",
    "author_cumulative_hundredths": -10000,
    "favourite_cumulative_hundredths": -10000
   },
   {
    "kickoff": "2026-10-07T23:30:00.000Z",
    "author_cumulative_hundredths": -20000,
    "favourite_cumulative_hundredths": 4500
   },
   {
    "kickoff": "2026-10-10T16:45:00.000Z",
    "author_cumulative_hundredths": -12000,
    "favourite_cumulative_hundredths": 12500
   },
   {
    "kickoff": "2026-10-10T19:00:00.000Z",
    "author_cumulative_hundredths": -6595,
    "favourite_cumulative_hundredths": 17905
   },
   {
    "kickoff": "2026-10-24T14:30:00.000Z",
    "author_cumulative_hundredths": -16595,
    "favourite_cumulative_hundredths": 7905
   },
   {
    "kickoff": "2026-10-24T19:30:00.000Z",
    "author_cumulative_hundredths": -26595,
    "favourite_cumulative_hundredths": 14855
   },
   {
    "kickoff": "2026-10-30T20:15:00.000Z",
    "author_cumulative_hundredths": -36595,
    "favourite_cumulative_hundredths": 4855
   },
   {
    "kickoff": "2026-11-01T15:30:00.000Z",
    "author_cumulative_hundredths": -28595,
    "favourite_cumulative_hundredths": 12855
   },
   {
    "kickoff": "2026-11-01T18:00:00.000Z",
    "author_cumulative_hundredths": -19545,
    "favourite_cumulative_hundredths": 21905
   }
  ],
  "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": 121,
  "pages": 8,
  "page_urls": [
   "/authors/joshua-ojele/",
   "/authors/joshua-ojele/picks/2/",
   "/authors/joshua-ojele/picks/3/",
   "/authors/joshua-ojele/picks/4/",
   "/authors/joshua-ojele/picks/5/",
   "/authors/joshua-ojele/picks/6/",
   "/authors/joshua-ojele/picks/7/",
   "/authors/joshua-ojele/picks/8/"
  ],
  "groups": {
   "settled": 30,
   "pending": 0,
   "excluded": 91
  },
  "continuation": "by_time",
  "page": 1,
  "first": 1,
  "last": 20,
  "author_url": "/authors/joshua-ojele/",
  "current": false
 },
 "title_tag": "Joshua Ojele Predictions: Verified Record, Results and Sources",
 "calculator": null,
 "person": {
  "person_id": "o-039bcef343c50ba1d22f8e19",
  "type_code": "individual",
  "name_shown": "Joshua Ojele",
  "main_entity": "e-039bcef343c50ba1d22f8e19",
  "identity": {
   "status": "not_verified",
   "is_verified": false,
   "when": null,
   "source_list": []
  },
  "platform_list": [
   {
    "entity_ref": "e-039bcef343c50ba1d22f8e19",
    "medium": "Football Whispers",
    "channel": "RSS feed",
    "domain": "footballwhispers.com",
    "source_info": "football-whispers",
    "byline": "Joshua Ojele",
    "url": "/sources/football-whispers/",
    "summary": {
     "statements": 146,
     "predictions": 105,
     "settled_picks": 18,
     "headline_kind": "live_snapshot",
     "return_percent": -14.77,
     "headline_part": "live",
     "period_from": "2026-09-28",
     "period_to": "2026-11-07"
    }
   },
   {
    "entity_ref": "e-73d6884a35b8a82e8949e24a",
    "medium": "Sports Mole",
    "channel": "RSS feed",
    "domain": "sportsmole.co.uk",
    "source_info": "sports-mole",
    "byline": "Joshua Ojele",
    "url": "/sources/sports-mole/",
    "summary": {
     "statements": 89,
     "predictions": 16,
     "settled_picks": 0,
     "headline_kind": null,
     "return_percent": null,
     "headline_part": null,
     "period_from": "2026-09-28",
     "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": 18,
   "matches": 10,
   "void": 0,
   "period_from": "2026-09-30",
   "period_to": "2026-11-05",
   "composition_hash": "832e83f8d8408e6f1c6530067395faf9311345502b857d87e0742368fa5fa969"
  },
  "changes_url": "#changes",
  "corrections_url": "/corrections/"
 },
 "number_changes": [
  {
   "id": "zc-3d04a1ea8fe326fa83b0",
   "at": "2026-11-07T20:05:20.937Z",
   "data_version": "2026-11-07.2",
   "previous_data_version": "2026-11-07.1",
   "url": "/authors/joshua-ojele/",
   "category": "coverage_extended",
   "category_words": "Coverage extended",
   "before": {
    "data_version": "2026-11-06.1",
    "return_percent": "-13.14",
    "settled_picks": 13,
    "matches": 8,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "f40d9705e112eadbd0258e92c43f55ae006dd05c3ad2f17431f8b8dbf3a71a38",
    "text": "−13.14% on 13 settled picks across 8 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-11-07.2",
    "return_percent": "-14.77",
    "settled_picks": 18,
    "matches": 10,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "832e83f8d8408e6f1c6530067395faf9311345502b857d87e0742368fa5fa969",
    "text": "−14.77% on 18 settled picks across 10 matches · independent odds snapshot · method 2.2"
   },
   "reason": "Added 5 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": 5,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  },
  {
   "id": "zc-035233b9a58156b77f3c",
   "at": "2026-11-06T14:46:17.511Z",
   "data_version": "2026-11-06.1",
   "previous_data_version": "2026-11-05.3",
   "url": "/authors/joshua-ojele/",
   "category": "new_results",
   "category_words": "New results",
   "before": {
    "data_version": "2026-10-31.1",
    "return_percent": "-5.90",
    "settled_picks": 12,
    "matches": 7,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "a0517aa5682bd3a59b2be2407d1564cab4aeb22371ba26d5d2e9d630fc7be758",
    "text": "−5.90% on 12 settled picks across 7 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-11-06.1",
    "return_percent": "-13.14",
    "settled_picks": 13,
    "matches": 8,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "f40d9705e112eadbd0258e92c43f55ae006dd05c3ad2f17431f8b8dbf3a71a38",
    "text": "−13.14% on 13 settled picks across 8 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-2cd85e31287063513443",
   "at": "2026-10-31T04:09:05.944Z",
   "data_version": "2026-10-31.1",
   "previous_data_version": "2026-10-30.3",
   "url": "/authors/joshua-ojele/",
   "category": "new_results",
   "category_words": "New results",
   "before": {
    "data_version": "2026-10-27.1",
    "return_percent": "12.92",
    "settled_picks": 10,
    "matches": 6,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "d696116d06b4af40359fbcf09a50f38a6aa51d7430e87a076d4998f089317157",
    "text": "+12.92% on 10 settled picks across 6 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-31.1",
    "return_percent": "-5.90",
    "settled_picks": 12,
    "matches": 7,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "a0517aa5682bd3a59b2be2407d1564cab4aeb22371ba26d5d2e9d630fc7be758",
    "text": "−5.90% on 12 settled picks across 7 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-bbadc63f119e4905b9de",
   "at": "2026-10-27T07:47:02.386Z",
   "data_version": "2026-10-27.1",
   "previous_data_version": "2026-10-26.1",
   "url": "/authors/joshua-ojele/",
   "category": "coverage_extended",
   "category_words": "Coverage extended",
   "before": {
    "data_version": "2026-10-24.5",
    "return_percent": "5.87",
    "settled_picks": 9,
    "matches": 5,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "67901737d6d03141a47ed9cb9a1c155b112e8db9cf71e224ed79153d785fbbf4",
    "text": "+52.86 points on 9 settled picks across 5 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-27.1",
    "return_percent": "12.92",
    "settled_picks": 10,
    "matches": 6,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "d696116d06b4af40359fbcf09a50f38a6aa51d7430e87a076d4998f089317157",
    "text": "+12.92% 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-7ad5c7e0141152b80a2b",
   "at": "2026-10-25T01:37:51.007Z",
   "data_version": "2026-10-24.5",
   "previous_data_version": "2026-10-24.4",
   "url": "/authors/joshua-ojele/",
   "category": "new_results",
   "category_words": "New results",
   "before": {
    "data_version": "2026-10-22.4",
    "return_percent": "36.12",
    "settled_picks": 7,
    "matches": 4,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "a3786482e7331254be7ad9d1d4d0a40b58a0467cb4d4587f6565093ee45b98ea",
    "text": "+252.86 points on 7 settled picks across 4 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-24.5",
    "return_percent": "5.87",
    "settled_picks": 9,
    "matches": 5,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "67901737d6d03141a47ed9cb9a1c155b112e8db9cf71e224ed79153d785fbbf4",
    "text": "+52.86 points on 9 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-75ae43f46add0934100e",
   "at": "2026-10-22T13:04:00.441Z",
   "data_version": "2026-10-22.4",
   "previous_data_version": "2026-10-22.3",
   "url": "/authors/joshua-ojele/",
   "category": "coverage_extended",
   "category_words": "Coverage extended",
   "before": {
    "data_version": "2026-10-10.4",
    "return_percent": "62.72",
    "settled_picks": 4,
    "matches": 3,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "2259ee9efccdc9e55c83025f2c3f79d56d8fb586dba7540c8264986a3d8c935f",
    "text": "+250.86 points on 4 settled picks across 3 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-22.4",
    "return_percent": "36.12",
    "settled_picks": 7,
    "matches": 4,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "a3786482e7331254be7ad9d1d4d0a40b58a0467cb4d4587f6565093ee45b98ea",
    "text": "+252.86 points on 7 settled picks across 4 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).",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 3,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  },
  {
   "id": "zc-960e66b8c8c8a4ddc460",
   "at": "2026-10-10T23:53:02.873Z",
   "data_version": "2026-10-10.4",
   "previous_data_version": "2026-10-10.3",
   "url": "/authors/joshua-ojele/",
   "category": "method_changed",
   "category_words": "Method changed",
   "before": null,
   "after": {
    "data_version": "2026-10-10.4",
    "return_percent": "62.72",
    "settled_picks": 4,
    "matches": 3,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "2259ee9efccdc9e55c83025f2c3f79d56d8fb586dba7540c8264986a3d8c935f",
    "text": "+250.86 points on 4 settled picks across 3 matches · 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: 4 settled picks.",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 4,
    "removed": 0,
    "changed": 0
   },
   "correction_id": "i-658f038a591510a2b166"
  }
 ],
 "counts_by_slice": {
  "portions": [
   {
    "code": "live",
    "title": "Recorded before kick-off",
    "price_rule": "Return at our recorded market price",
    "settled_picks": 18,
    "total_check": true,
    "market_list": [
     {
      "code_name": "total",
      "in_words": "Over/under goals",
      "url": null,
      "settled_picks": 7,
      "won": 3,
      "void": 0,
      "net_points_hundredths": -21993,
      "return_percent": "-31.4",
      "period_from": "2026-09-30",
      "period_to": "2026-10-31",
      "small_sample": true,
      "average_odds": "1.55",
      "odds_from_author": 7,
      "odds_from_snapshot": 0
     },
     {
      "code_name": "both_teams_score",
      "in_words": "Both teams to score",
      "url": null,
      "settled_picks": 5,
      "won": 3,
      "void": 0,
      "net_points_hundredths": -7495,
      "return_percent": "-15.0",
      "period_from": "2026-10-10",
      "period_to": "2026-11-05",
      "small_sample": true,
      "average_odds": "1.58",
      "odds_from_author": 4,
      "odds_from_snapshot": 1
     },
     {
      "code_name": "1x2",
      "in_words": "Match result",
      "url": null,
      "settled_picks": 3,
      "won": 3,
      "void": 0,
      "net_points_hundredths": 15274,
      "return_percent": "50.9",
      "period_from": "2026-09-30",
      "period_to": "2026-10-10",
      "small_sample": true,
      "average_odds": "1.48",
      "odds_from_author": 2,
      "odds_from_snapshot": 1
     },
     {
      "code_name": "both_teams_score_and_result",
      "in_words": "Result and both teams to score",
      "url": null,
      "settled_picks": 2,
      "won": 0,
      "void": 0,
      "net_points_hundredths": -20000,
      "return_percent": "-100.0",
      "period_from": "2026-10-30",
      "period_to": "2026-11-05",
      "small_sample": true,
      "average_odds": "2.74",
      "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": 7634,
      "return_percent": "76.3",
      "period_from": "2026-10-25",
      "period_to": "2026-10-25",
      "small_sample": true,
      "average_odds": "1.80",
      "odds_from_author": 1,
      "odds_from_snapshot": 0
     }
    ],
    "leagues": [
     {
      "code_name": "Eredivisie",
      "in_words": "Eredivisie",
      "url": "/football/competitions/eredivisie/",
      "settled_picks": 8,
      "won": 6,
      "void": 0,
      "net_points_hundredths": 11539,
      "return_percent": "14.4",
      "period_from": "2026-10-10",
      "period_to": "2026-10-31",
      "small_sample": true,
      "average_odds": "1.49",
      "odds_from_author": 6,
      "odds_from_snapshot": 2,
      "league_markets": [
       {
        "code_name": "both_teams_score",
        "in_words": "Both teams to score",
        "settled_picks": 3,
        "won": 3,
        "void": 0,
        "net_points_hundredths": 12505,
        "return_percent": null,
        "period_from": "2026-10-10",
        "period_to": "2026-10-25",
        "small_sample": true,
        "average_odds": "1.45",
        "odds_from_author": 2,
        "odds_from_snapshot": 1
       },
       {
        "code_name": "total",
        "in_words": "Over/under goals",
        "settled_picks": 3,
        "won": 1,
        "void": 0,
        "net_points_hundredths": -16600,
        "return_percent": null,
        "period_from": "2026-10-10",
        "period_to": "2026-10-31",
        "small_sample": true,
        "average_odds": "1.31",
        "odds_from_author": 3,
        "odds_from_snapshot": 0
       },
       {
        "code_name": "double_chance",
        "in_words": "Double chance",
        "settled_picks": 1,
        "won": 1,
        "void": 0,
        "net_points_hundredths": 7634,
        "return_percent": null,
        "period_from": "2026-10-25",
        "period_to": "2026-10-25",
        "small_sample": true,
        "average_odds": "1.80",
        "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": 8000,
        "return_percent": null,
        "period_from": "2026-10-10",
        "period_to": "2026-10-10",
        "small_sample": true,
        "average_odds": "1.80",
        "odds_from_author": 0,
        "odds_from_snapshot": 1
       }
      ]
     },
     {
      "code_name": "Primeira Liga",
      "in_words": "Primeira Liga",
      "url": "/football/competitions/primeira-liga/",
      "settled_picks": 6,
      "won": 2,
      "void": 0,
      "net_points_hundredths": -29800,
      "return_percent": "-49.7",
      "period_from": "2026-10-10",
      "period_to": "2026-10-30",
      "small_sample": true,
      "average_odds": "1.89",
      "odds_from_author": 6,
      "odds_from_snapshot": 0,
      "league_markets": [
       {
        "code_name": "total",
        "in_words": "Over/under goals",
        "settled_picks": 3,
        "won": 1,
        "void": 0,
        "net_points_hundredths": -12800,
        "return_percent": null,
        "period_from": "2026-10-10",
        "period_to": "2026-10-30",
        "small_sample": true,
        "average_odds": "1.72",
        "odds_from_author": 3,
        "odds_from_snapshot": 0
       },
       {
        "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-10-24",
        "period_to": "2026-10-24",
        "small_sample": true,
        "average_odds": "2.00",
        "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": 3000,
        "return_percent": null,
        "period_from": "2026-10-10",
        "period_to": "2026-10-10",
        "small_sample": true,
        "average_odds": "1.27",
        "odds_from_author": 1,
        "odds_from_snapshot": 0
       },
       {
        "code_name": "both_teams_score_and_result",
        "in_words": "Result and both teams to score",
        "settled_picks": 1,
        "won": 0,
        "void": 0,
        "net_points_hundredths": -10000,
        "return_percent": null,
        "period_from": "2026-10-30",
        "period_to": "2026-10-30",
        "small_sample": true,
        "average_odds": "2.87",
        "odds_from_author": 1,
        "odds_from_snapshot": 0
       }
      ]
     },
     {
      "code_name": "International Soccer",
      "in_words": "International Soccer",
      "url": "/football/competitions/international-soccer/",
      "settled_picks": 2,
      "won": 2,
      "void": 0,
      "net_points_hundredths": 11681,
      "return_percent": "58.4",
      "period_from": "2026-09-30",
      "period_to": "2026-09-30",
      "small_sample": true,
      "average_odds": "1.55",
      "odds_from_author": 2,
      "odds_from_snapshot": 0,
      "league_markets": [
       {
        "code_name": "1x2",
        "in_words": "Match result",
        "settled_picks": 1,
        "won": 1,
        "void": 0,
        "net_points_hundredths": 4274,
        "return_percent": null,
        "period_from": "2026-09-30",
        "period_to": "2026-09-30",
        "small_sample": true,
        "average_odds": "1.38",
        "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": 7407,
        "return_percent": null,
        "period_from": "2026-09-30",
        "period_to": "2026-09-30",
        "small_sample": true,
        "average_odds": "1.72",
        "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": 2,
      "won": 0,
      "void": 0,
      "net_points_hundredths": -20000,
      "return_percent": "-100.0",
      "period_from": "2026-11-05",
      "period_to": "2026-11-05",
      "small_sample": true,
      "average_odds": "2.08",
      "odds_from_author": 2,
      "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.57",
        "odds_from_author": 1,
        "odds_from_snapshot": 0
       },
       {
        "code_name": "both_teams_score_and_result",
        "in_words": "Result and 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": "2.60",
        "odds_from_author": 1,
        "odds_from_snapshot": 0
       }
      ]
     }
    ],
    "best_slice": null
   }
  ],
  "best_slice": null
 },
 "author_card": {
  "body": "Record tracked by Forecast Record since 27 September 2026 · 121 predictions · last change 7 November 2026",
  "url": "https://forecastrecord.com/authors/joshua-ojele/",
  "s": "2026-09-27",
  "prediction_count": 121,
  "refreshed_at": "2026-11-07",
  "html": "<a href=\"https://forecastrecord.com/authors/joshua-ojele/\">Record tracked by Forecast Record since 27 September 2026 · 121 predictions · last change 7 November 2026</a>"
 },
 "trust": {
  "tier": "tracked",
  "in_words": "Tracked",
  "settled_count": 71,
  "days": 37,
  "weeks": 6,
  "archive": false,
  "in_review": false,
  "own_page": true,
  "won_count": 30,
  "first_settled_on": "2026-09-30",
  "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": "Joshua Cole",
     "url": "/authors/joshua-cole/",
     "headline_part": "live",
     "settled_picks": 32,
     "return_percent": "-40.1",
     "small_sample": false,
     "average_odds": "2.26",
     "odds_from_author": 32,
     "odds_from_snapshot": 0
    },
    {
     "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": "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": "Joshua Cole",
     "url": "/authors/joshua-cole/",
     "headline_part": "live",
     "settled_picks": 32,
     "return_percent": "-40.1",
     "small_sample": false,
     "average_odds": "2.26",
     "odds_from_author": 32,
     "odds_from_snapshot": 0
    },
    {
     "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": "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": 0,
  "last_correction_at": "2026-10-10T23:53:02.873Z",
  "corrections_url": "/corrections/"
 },
 "entity_id": "person:o-039bcef343c50ba1d22f8e19",
 "source_revision": 151,
 "related": [
  {
   "url": "/cards/e-039bcef343c50ba1d22f8e19-bank/",
   "name": "Bankroll card — Joshua Ojele",
   "detail": null,
   "source_group": "cards"
  },
  {
   "url": "/cards/e-039bcef343c50ba1d22f8e19-month-following/",
   "name": "A month following Joshua Ojele",
   "detail": null,
   "source_group": "cards"
  },
  {
   "url": "/cards/e-039bcef343c50ba1d22f8e19-said-vs-happened/",
   "name": "Said → happened — Joshua Ojele",
   "detail": null,
   "source_group": "cards"
  },
  {
   "url": "/cards/e-039bcef343c50ba1d22f8e19-turning-point/",
   "name": "Turning point — Joshua Ojele",
   "detail": null,
   "source_group": "cards"
  },
  {
   "url": "/for-authors/joshua-ojele/",
   "name": "Your record on Forecast Record: Joshua Ojele",
   "detail": null,
   "source_group": "for_authors"
  }
 ],
 "number_sets": [
  {
   "set": "profile.settled",
   "entity": "e-039bcef343c50ba1d22f8e19",
   "value": 30,
   "where": "coverage",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.predictions",
   "entity": "e-039bcef343c50ba1d22f8e19",
   "value": 121,
   "where": "coverage",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.predictions",
   "entity": "e-039bcef343c50ba1d22f8e19",
   "value": 121,
   "where": "picks",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.part.live",
   "entity": "e-039bcef343c50ba1d22f8e19",
   "value": 18,
   "where": "origin",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.part.archived",
   "entity": "e-039bcef343c50ba1d22f8e19",
   "value": 0,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.part.found_after",
   "entity": "e-039bcef343c50ba1d22f8e19",
   "value": 0,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.checked.archived",
   "entity": "e-039bcef343c50ba1d22f8e19",
   "value": 0,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.checked.live",
   "entity": "e-039bcef343c50ba1d22f8e19",
   "value": 71,
   "where": "origin",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.window",
   "entity": "e-039bcef343c50ba1d22f8e19",
   "value": 18,
   "where": "calculation",
   "as_of": "2026-11-07T19:52:23.438Z",
   "label": true
  },
  {
   "set": "profile.checked",
   "entity": "e-039bcef343c50ba1d22f8e19",
   "value": 71,
   "where": "trust-level",
   "as_of": "2026-11-07T19:52:23.438Z",
   "label": true
  }
 ]
}
