{
 "schema_name": "page",
 "schema_version": "2.0",
 "page_type": "history",
 "url": "/authors/adeyeye-oluwapelumi/picks/9/",
 "canonical": "/authors/adeyeye-oluwapelumi/picks/9/",
 "language": "en",
 "hreflang": [],
 "translations": [],
 "heading": "Adeyeye Oluwapelumi — football predictions, page 9 of 11",
 "description": "Predictions 141–160 of 192 by Adeyeye Oluwapelumi, with outcomes in words and links to the evidence.",
 "first_paragraph": {
  "body": "Page 9 of 11 of the predictions by Adeyeye Oluwapelumi recorded by Forecast Record: predictions 141–160 of 192 in the order we recorded them, earliest first; as of 7 November 2026. Each row links to its evidence, and the summary of the record is on the profile page.",
  "key_number": "192",
  "data": "2026-11-07",
  "source_info": "our own evidence archive",
  "brand": "Forecast Record"
 },
 "indexable": false,
 "noindex_reason": "technical",
 "indexing_threshold": {
  "settled_count": 0,
  "date_count": 0,
  "required_settled": 0,
  "required_dates": 0
 },
 "data_date": "2026-11-07T17:59:01.895Z",
 "built_at": "2026-11-07T19:52:23.438Z",
 "lastmod": "2026-11-07T19:52:23.438Z",
 "content_hash": null,
 "meaning_hash": "fd659699dde1ec9ce9bd3a7e371ea6a0cd692fc5d76e31bc74c1d71cf925eddf",
 "dependency_group": "author:e-6d3cb88106457c37ed4312f5",
 "release_id": "20261107-195223",
 "markup": [
  {
   "type_code": "WebPage",
   "allowed": true,
   "cause": null
  },
  {
   "type_code": "Organization",
   "allowed": true,
   "cause": null
  }
 ],
 "exports": [
  {
   "type_code": "json",
   "url": "/authors/adeyeye-oluwapelumi/picks/9/index.json",
   "bytes": null
  }
 ],
 "modules": {
  "affiliate": false,
  "api": true,
  "compare_yourself": false
 },
 "affiliate_block": null,
 "restrictions": {
  "name_withdrawn": false,
  "tracker_number": null,
  "withdrawn_quotes": [],
  "removed_at": null,
  "cause": null,
  "suspended_records": [],
  "withdrawal_log_number": 0
 },
 "page_links": {
  "methodology": "/methodology/",
  "right_of_reply": "/right-of-reply/",
  "source_coverage": "/coverage/",
  "corrections_log": "/corrections/",
  "api": "/api/",
  "claim": "/claim/"
 },
 "entity": {
  "id": "e-6d3cb88106457c37ed4312f5",
  "public_name": "Adeyeye Oluwapelumi",
  "tracker_number": 1354,
  "status": "active",
  "inactive_since": null,
  "verified_creator": false,
  "observation_period": {
   "since": "2026-09-27",
   "until": "2026-11-06"
  },
  "platform_list": [
   {
    "medium": "website",
    "handle": null,
    "url": null,
    "link_confirmed": false,
    "show": true
   }
  ],
  "comment": null
 },
 "recorded_picks": [
  {
   "record_id": "n-96d0ac05356241f48c7926fa",
   "url": "/authors/adeyeye-oluwapelumi/picks/9/#pick-n-96d0ac05356241f48c7926fa",
   "match": "Santa Clara v Benfica",
   "match_url": "/football/matches/santa-clara-vs-benfica-2026-10-26/",
   "kickoff": "2026-10-26T18:45:00.000Z",
   "competition": "Primeira Liga",
   "lead_hours": 55.6,
   "market_code": "1x2",
   "author_said": "1X2, match result: Benfica",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "1-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 3750,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "1.3750",
   "published_at": "2026-10-24T10:21:54.000Z",
   "recorded_at": "2026-10-24T11:10:12.403Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "1.3750",
    "result": "Won",
    "points_hundredths": 3750,
    "picked_favourite": true
   },
   "platform": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-96d0ac05356241f48c7926fa",
    "quote_text": "making an away victory the more likely outcome",
    "fragment_from": 4969,
    "fragment_to": 5015,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/benfica/preview/santa-clara-vs-benfica-prediction-team-news-lineups_607629.html",
     "display_name": null,
     "speaker": "Adeyeye Oluwapelumi",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "2d8d4aeda70409f13984ab2a1a5d2576c21e48a1e99e9cb9e25572dba77a9620",
     "material_removed": false
    },
    "published_at": "2026-10-24T10:21:54.000Z",
    "detected_at": "2026-10-24T11:10:12.403Z",
    "executed_at": "2026-11-07T11:59:46.493Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-ba23ef9c6a60",
     "display_name": "Santa Clara — Benfica",
     "competition_name": "Primeira Liga",
     "starts_at": "2026-10-26T18:45:00.000Z",
     "url": "/football/matches/santa-clara-vs-benfica-2026-10-26/",
     "scoreline": "1-2",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Benfica",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "1.3750",
     "our_snapshot_at": "2026-10-24T11:10:11.515Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 3750,
    "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-24T10:21:54.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-24T10:21:54.000Z",
     "detected_at": "2026-10-24T11:10:12.403Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": "2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Benfica"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Santa Clara 1-2 Benfica."
    },
    "settlements": [
     {
      "operation_id": "3416a50d5eb77b23bac9b08b7358248f59e46f6ca8336be9308c4e361377af80",
      "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": "1.3750",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 3750,
      "executed_at": "2026-11-07T11:59:46.493Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Adeyeye Oluwapelumi",
     "publisher": "Sports Mole",
     "forecaster": "Adeyeye Oluwapelumi",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The 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/benfica/preview/santa-clara-vs-benfica-prediction-team-news-lineups_607629.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Benfica to win"
   }
  },
  {
   "record_id": "n-7df2ce2563eabecfc1d35772",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Casa Pia 0-2 Sporting Lisbon",
   "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-28T15:57:00.000Z",
   "recorded_at": "2026-10-28T16:10:14.142Z",
   "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-0c95952ca15f681737c1c3ff",
   "url": "/authors/adeyeye-oluwapelumi/picks/9/#pick-n-0c95952ca15f681737c1c3ff",
   "match": "Le Havre v Paris Saint-Germain",
   "match_url": "/football/matches/le-havre-vs-paris-saint-germain-2026-10-30/",
   "kickoff": "2026-10-30T18:00:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 44.8,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 1.7",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "1-5",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 6969,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.7",
   "settled_price": "1.6969",
   "published_at": "2026-10-28T20:59:38.000Z",
   "recorded_at": "2026-10-28T21:14:17.363Z",
   "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-0c95952ca15f681737c1c3ff",
    "quote_text": "Both teams to score – Yes at 1.70 (7/10)",
    "fragment_from": 4462,
    "fragment_to": 4502,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/le-havre-vs-psg-prediction-30-10-2026/",
     "display_name": null,
     "speaker": "Adeyeye Oluwapelumi",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "47a5708c7e2d2fe5d7dd8be22b0a8a978953921a40693e2587f3dd5c088a6ca4",
     "material_removed": false
    },
    "published_at": "2026-10-28T20:59:38.000Z",
    "detected_at": "2026-10-28T21:14:17.363Z",
    "executed_at": "2026-11-07T10:43:28.333Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-093cac49e8f6",
     "display_name": "Le Havre — Paris Saint-Germain",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-30T18:00:00.000Z",
     "url": "/football/matches/le-havre-vs-paris-saint-germain-2026-10-30/",
     "scoreline": "1-5",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "1.7",
     "our_snapshot": "1.6969",
     "our_snapshot_at": "2026-10-28T21:11:52.755Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 6969,
    "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-28T20:59:38.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-28T20:59:38.000Z",
     "detected_at": "2026-10-28T21:14:17.363Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Both teams to score",
     "choice": "yes",
     "author_odds": "1.7",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 1.7"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-5",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Le Havre 1-5 Paris Saint-Germain."
    },
    "settlements": [
     {
      "operation_id": "092baa94210dfe21939c0737d876eadad6c4df1c1d13f50cd87e401437d6f6c3",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.7",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 7000,
      "executed_at": "2026-11-07T10:43:25.742Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "ec86b261ea28ae050765998fee9a6a0d7c90fc52c50888e33a6c87fedd0a6013",
      "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.6969",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 6969,
      "executed_at": "2026-11-07T10:43:28.333Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Adeyeye Oluwapelumi",
     "publisher": "Football Whispers",
     "forecaster": "Adeyeye Oluwapelumi",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The 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/le-havre-vs-psg-prediction-30-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-3fb99634d5ca9098dd489873",
   "url": "/authors/adeyeye-oluwapelumi/picks/9/#pick-n-3fb99634d5ca9098dd489873",
   "match": "Le Havre v Paris Saint-Germain",
   "match_url": "/football/matches/le-havre-vs-paris-saint-germain-2026-10-30/",
   "kickoff": "2026-10-30T18:00:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 44.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Le Havre 1-3 Paris Saint-Germain at 10",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "1-5",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "10",
   "settled_price": "9.2000",
   "published_at": "2026-10-28T20:59:38.000Z",
   "recorded_at": "2026-10-28T21:14:17.363Z",
   "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-3fb99634d5ca9098dd489873",
    "quote_text": "Correct score: Le Havre 1-3 PSG at 10.00 (9/1)",
    "fragment_from": 4529,
    "fragment_to": 4575,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/le-havre-vs-psg-prediction-30-10-2026/",
     "display_name": null,
     "speaker": "Adeyeye Oluwapelumi",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "47a5708c7e2d2fe5d7dd8be22b0a8a978953921a40693e2587f3dd5c088a6ca4",
     "material_removed": false
    },
    "published_at": "2026-10-28T20:59:38.000Z",
    "detected_at": "2026-10-28T21:14:17.363Z",
    "executed_at": "2026-10-30T04:28:21.792Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-093cac49e8f6",
     "display_name": "Le Havre — Paris Saint-Germain",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-30T18:00:00.000Z",
     "url": "/football/matches/le-havre-vs-paris-saint-germain-2026-10-30/",
     "scoreline": "1-5",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Le Havre 1-3 Paris Saint-Germain",
    "odds_set": {
     "by_author": "10",
     "our_snapshot": "9.2000",
     "our_snapshot_at": "2026-10-28T21:12:38.177Z",
     "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-28T20:59:38.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-28T20:59:38.000Z",
     "detected_at": "2026-10-28T21:14:17.363Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": "Le Havre 1-3 Paris Saint-Germain",
     "author_odds": "10",
     "market_key": "correct_score_market",
     "choice_key": "1-3",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Le Havre 1-3 Paris Saint-Germain at 10"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-5",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Le Havre 1-5 Paris Saint-Germain."
    },
    "settlements": [
     {
      "operation_id": "5521f6b4a415e1213e6cb4e62725a6307fd11c8f88e18e9c31d4dc8973002d80",
      "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": "Le Havre 1-3 Paris Saint-Germain",
      "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-30T04:28:21.188Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "93e87c19df99286ffca61485776a32dad3caf8de47b0d39fbef349fbbaca1270",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Le Havre 1-3 Paris Saint-Germain",
      "decimal_odds": "9.2000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-30T04:28:21.792Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Adeyeye Oluwapelumi",
     "publisher": "Football Whispers",
     "forecaster": "Adeyeye Oluwapelumi",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The 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/le-havre-vs-psg-prediction-30-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Le Havre 1-3 Paris Saint-Germain"
   }
  },
  {
   "record_id": "n-79227e01b18c0ee339057394",
   "url": "/authors/adeyeye-oluwapelumi/picks/9/#pick-n-79227e01b18c0ee339057394",
   "match": "Le Havre v Paris Saint-Germain",
   "match_url": "/football/matches/le-havre-vs-paris-saint-germain-2026-10-30/",
   "kickoff": "2026-10-30T18:00:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 44.8,
   "market_code": "total",
   "author_said": "Over/Under 1.5 goals, second half: over 1.5 at 1.53",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "1-5",
   "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-28T20:59:38.000Z",
   "recorded_at": "2026-10-28T21:14:17.363Z",
   "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-79227e01b18c0ee339057394",
    "quote_text": "Second-half over 1.5 goals at 1.53 (8/15)",
    "fragment_from": 3784,
    "fragment_to": 3825,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/le-havre-vs-psg-prediction-30-10-2026/",
     "display_name": null,
     "speaker": "Adeyeye Oluwapelumi",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "47a5708c7e2d2fe5d7dd8be22b0a8a978953921a40693e2587f3dd5c088a6ca4",
     "material_removed": false
    },
    "published_at": "2026-10-28T20:59:38.000Z",
    "detected_at": "2026-10-28T21:14:17.363Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-093cac49e8f6",
     "display_name": "Le Havre — Paris Saint-Germain",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-30T18:00:00.000Z",
     "url": "/football/matches/le-havre-vs-paris-saint-germain-2026-10-30/",
     "scoreline": "1-5",
     "condition": "finished"
    },
    "market_label": "Over/Under 1.5 goals, second half",
    "outcome_label": "over 1.5",
    "odds_set": {
     "by_author": "1.53",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 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-28T20:59:38.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-28T20:59:38.000Z",
     "detected_at": "2026-10-28T21:14:17.363Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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 1.5 goals, second half",
     "choice": "over 1.5",
     "author_odds": "1.53",
     "market_key": "total",
     "choice_key": "over",
     "period": "second_half",
     "line": "1.5",
     "subject": "goals_total",
     "in_words": "Over/Under 1.5 goals, second half: over 1.5 at 1.53"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-5",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Le Havre 1-5 Paris Saint-Germain."
    },
    "settlements": [
     {
      "operation_id": "ced86436ee97829da51a08704a4c2470cca3700facdd798646186f6229ecc501",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 1.5 goals, second half",
      "choice": "over 1.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": "e77afcb660c83154289034bc8be6a5974ca64c3864aa560ad7fd8fa09fef250d",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 1.5 goals, second half",
      "choice": "over 1.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": "Adeyeye Oluwapelumi",
     "publisher": "Football Whispers",
     "forecaster": "Adeyeye Oluwapelumi",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The 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/le-havre-vs-psg-prediction-30-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "over 1.5 (Over/Under 1.5 goals, second half)"
   }
  },
  {
   "record_id": "n-03a3e386f22752701c4098e5",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Total goals between two and four at 1.53 (8/15) is worth considering, given the trend in Lille’s league matches this season,",
   "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-28T21:19:28.000Z",
   "recorded_at": "2026-10-28T21:34:17.229Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-57f61cca3a8ba6963c58f0cc",
   "url": "/authors/adeyeye-oluwapelumi/picks/9/#pick-n-57f61cca3a8ba6963c58f0cc",
   "match": "Lille v RC Lens",
   "match_url": "/football/matches/lille-vs-rc-lens-2026-10-30/",
   "kickoff": "2026-10-30T20:05:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 46.5,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 1.57",
   "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-28T21:19:28.000Z",
   "recorded_at": "2026-10-28T21:34:17.229Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-57f61cca3a8ba6963c58f0cc",
    "quote_text": "Both teams to score – Yes at 1.57 (4/7) looks appealing considering Lens have regularly been involved in matches where both sides find the net.",
    "fragment_from": 3425,
    "fragment_to": 3568,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/lille-vs-lens-prediction-30-10-2026/",
     "display_name": null,
     "speaker": "Adeyeye Oluwapelumi",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "e5be597ca7bb0ba7844b2c86d6d7c1b3b6cfd7934a3c401fce259e0598db0493",
     "material_removed": false
    },
    "published_at": "2026-10-28T21:19:28.000Z",
    "detected_at": "2026-10-28T21:34:17.229Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-0154b7c67113",
     "display_name": "Lille — RC Lens",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-30T20:05:00.000Z",
     "url": "/football/matches/lille-vs-rc-lens-2026-10-30/",
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "1.57",
     "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-28T21:19:28.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-28T21:19:28.000Z",
     "detected_at": "2026-10-28T21:34:17.229Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "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": "1-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Lille 1-0 RC Lens."
    },
    "settlements": [
     {
      "operation_id": "a6690df613acae2f6e29b006a8d35fd7193d748a7cc8afb35967fbd86b4de432",
      "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": "96fcd0060d55b1fc91cd086ddb50de3eb068ccbdb201a16f6f738ffcabb5ee75",
      "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": "Adeyeye Oluwapelumi",
     "publisher": "Football Whispers",
     "forecaster": "Adeyeye Oluwapelumi",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/lille-vs-lens-prediction-30-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-ac3b6604df5239a6f1ff9db5",
   "url": "/authors/adeyeye-oluwapelumi/picks/9/#pick-n-ac3b6604df5239a6f1ff9db5",
   "match": "Lille v RC Lens",
   "match_url": "/football/matches/lille-vs-rc-lens-2026-10-30/",
   "kickoff": "2026-10-30T20:05:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 46.5,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Lille 2-1 RC Lens 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-28T21:19:28.000Z",
   "recorded_at": "2026-10-28T21:34:17.229Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-ac3b6604df5239a6f1ff9db5",
    "quote_text": "while a 2-1 victory for Lille at 9.50 (17/2) also appeals as a correct-score prediction.",
    "fragment_from": 3946,
    "fragment_to": 4034,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/lille-vs-lens-prediction-30-10-2026/",
     "display_name": null,
     "speaker": "Adeyeye Oluwapelumi",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "e5be597ca7bb0ba7844b2c86d6d7c1b3b6cfd7934a3c401fce259e0598db0493",
     "material_removed": false
    },
    "published_at": "2026-10-28T21:19:28.000Z",
    "detected_at": "2026-10-28T21:34:17.229Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-0154b7c67113",
     "display_name": "Lille — RC Lens",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-30T20:05:00.000Z",
     "url": "/football/matches/lille-vs-rc-lens-2026-10-30/",
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Lille 2-1 RC Lens",
    "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-28T21:19:28.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-28T21:19:28.000Z",
     "detected_at": "2026-10-28T21:34:17.229Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Lille 2-1 RC Lens",
     "author_odds": "9.5",
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Lille 2-1 RC Lens 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 Lille 1-0 RC Lens."
    },
    "settlements": [
     {
      "operation_id": "75d5d398931223f084e6527b1a68f7100abda9376061963711fe5fa620d76c53",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Lille 2-1 RC Lens",
      "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": "fb9b87d74951cfd706568779d07398cf9730164daa2af37cda4b303928aaeb96",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Lille",
      "decimal_odds": 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": "Adeyeye Oluwapelumi",
     "publisher": "Football Whispers",
     "forecaster": "Adeyeye Oluwapelumi",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://footballwhispers.com/blog/lille-vs-lens-prediction-30-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Lille 2-1 RC Lens"
   }
  },
  {
   "record_id": "n-3cb2d67d94d640a9c2c2e1bd",
   "url": "/authors/adeyeye-oluwapelumi/picks/9/#pick-n-3cb2d67d94d640a9c2c2e1bd",
   "match": "Nice v Stade Rennais",
   "match_url": "/football/matches/nice-vs-stade-rennais-2026-10-30/",
   "kickoff": "2026-10-30T18:00:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 24.3,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 1.57",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "5-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 5495,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.57",
   "settled_price": "1.5495",
   "published_at": "2026-10-29T17:32:28.000Z",
   "recorded_at": "2026-10-29T17:44:25.986Z",
   "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-3cb2d67d94d640a9c2c2e1bd",
    "quote_text": "over 2.5 goals at 1.57 (4/7) is worth considering",
    "fragment_from": 3673,
    "fragment_to": 3722,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/nice-vs-rennes-prediction-30-10-2026/",
     "display_name": null,
     "speaker": "Adeyeye Oluwapelumi",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "c400820a5e8a22af9fa16a2c5d03476d56c43caef0f1b57d28a3f835e6fff784",
     "material_removed": false
    },
    "published_at": "2026-10-29T17:32:28.000Z",
    "detected_at": "2026-10-29T17:44:25.986Z",
    "executed_at": "2026-11-07T10:32:00.905Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-ec6fbfaa0001",
     "display_name": "Nice — Stade Rennais",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-30T18:00:00.000Z",
     "url": "/football/matches/nice-vs-stade-rennais-2026-10-30/",
     "scoreline": "5-2",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": "1.57",
     "our_snapshot": "1.5495",
     "our_snapshot_at": "2026-10-29T17:40:13.369Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 5495,
    "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-29T17:32:28.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-29T17:32:28.000Z",
     "detected_at": "2026-10-29T17:44:25.986Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": "win",
     "scoreline": "5-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Nice 5-2 Stade Rennais."
    },
    "settlements": [
     {
      "operation_id": "8ec6fe1895d07efea9878ffe4f914af3dd70d7632cb9dfc02e4723fa1b106ffc",
      "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": "win",
      "result_words": "Won",
      "change_hundredths": 5700,
      "executed_at": "2026-11-07T10:31:57.697Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "73bf3f48d03a3c0ec670f0da5104836ca15a9e4d410eb6abd2e9f6589920d1d0",
      "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.5495",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5495,
      "executed_at": "2026-11-07T10:32:00.905Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Adeyeye Oluwapelumi",
     "publisher": "Football Whispers",
     "forecaster": "Adeyeye Oluwapelumi",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The 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/nice-vs-rennes-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-5b3beab95411472f55ed1eed",
   "url": "/authors/adeyeye-oluwapelumi/picks/9/#pick-n-5b3beab95411472f55ed1eed",
   "match": "Nice v Stade Rennais",
   "match_url": "/football/matches/nice-vs-stade-rennais-2026-10-30/",
   "kickoff": "2026-10-30T18:00:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 24.3,
   "market_code": "double_chance",
   "author_said": "Double chance: Nice or Stade Rennais at 1.25",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "5-2",
   "reason": "",
   "reason_code": "disputed_reading",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-29T17:32:28.000Z",
   "recorded_at": "2026-10-29T17:44:25.986Z",
   "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-5b3beab95411472f55ed1eed",
    "quote_text": "making either team to win at 1.25 (1/4) an option for those looking to avoid the draw.",
    "fragment_from": 3355,
    "fragment_to": 3441,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/nice-vs-rennes-prediction-30-10-2026/",
     "display_name": null,
     "speaker": "Adeyeye Oluwapelumi",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "c400820a5e8a22af9fa16a2c5d03476d56c43caef0f1b57d28a3f835e6fff784",
     "material_removed": false
    },
    "published_at": "2026-10-29T17:32:28.000Z",
    "detected_at": "2026-10-29T17:44:25.986Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "recognised",
    "cause": "",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": "s-ec6fbfaa0001",
     "display_name": "Nice — Stade Rennais",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-30T18:00:00.000Z",
     "url": "/football/matches/nice-vs-stade-rennais-2026-10-30/",
     "scoreline": "5-2",
     "condition": "finished"
    },
    "market_label": "Double chance",
    "outcome_label": "Nice or Stade Rennais",
    "odds_set": {
     "by_author": "1.25",
     "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-29T17:32:28.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-29T17:32:28.000Z",
     "detected_at": "2026-10-29T17:44:25.986Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": "Nice or Stade Rennais",
     "author_odds": "1.25",
     "market_key": "double_chance",
     "choice_key": "12",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Double chance: Nice or Stade Rennais at 1.25"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "5-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Nice 5-2 Stade Rennais."
    },
    "settlements": [
     {
      "operation_id": "3ae285382f911d227bc6c21c45eed91b627c7e2fc1ee65e91cf99efe68e3f211",
      "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": "Nice or Stade Rennais",
      "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": "c997ffb663fe68bfd869d7a0d085c9ae9d7639ce19759589c7b6774f51875f91",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Double chance",
      "choice": "Nice or Stade Rennais",
      "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": "Adeyeye Oluwapelumi",
     "publisher": "Football Whispers",
     "forecaster": "Adeyeye Oluwapelumi",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The 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/nice-vs-rennes-prediction-30-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Nice or Stade Rennais"
   }
  },
  {
   "record_id": "n-5bdf9d65e3e21ff8ce26ac4c",
   "url": "/authors/adeyeye-oluwapelumi/picks/9/#pick-n-5bdf9d65e3e21ff8ce26ac4c",
   "match": "Nice v Stade Rennais",
   "match_url": "/football/matches/nice-vs-stade-rennais-2026-10-30/",
   "kickoff": "2026-10-30T18:00:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 24.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Nice 1-2 Stade Rennais at 10",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "5-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-29T17:32:28.000Z",
   "recorded_at": "2026-10-29T17:44:25.986Z",
   "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-5bdf9d65e3e21ff8ce26ac4c",
    "quote_text": "A 2-1 away victory for Rennes at 10.00 (9/1)",
    "fragment_from": 3829,
    "fragment_to": 3873,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/nice-vs-rennes-prediction-30-10-2026/",
     "display_name": null,
     "speaker": "Adeyeye Oluwapelumi",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "c400820a5e8a22af9fa16a2c5d03476d56c43caef0f1b57d28a3f835e6fff784",
     "material_removed": false
    },
    "published_at": "2026-10-29T17:32:28.000Z",
    "detected_at": "2026-10-29T17:44:25.986Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-ec6fbfaa0001",
     "display_name": "Nice — Stade Rennais",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-30T18:00:00.000Z",
     "url": "/football/matches/nice-vs-stade-rennais-2026-10-30/",
     "scoreline": "5-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Nice 1-2 Stade Rennais",
    "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-29T17:32:28.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-29T17:32:28.000Z",
     "detected_at": "2026-10-29T17:44:25.986Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Nice 1-2 Stade Rennais",
     "author_odds": "10",
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Nice 1-2 Stade Rennais at 10"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "5-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Nice 5-2 Stade Rennais."
    },
    "settlements": [
     {
      "operation_id": "51fe19b8dbc7a5ffa60a73276e903783d6b64cc5d2bf3d3cd0e5fa5c53dec6cf",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Nice 1-2 Stade Rennais",
      "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": "d1247cbf383d66b86758949198a294dd851e8149bbce1c6ed1447079ac4e3f19",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Stade Rennais",
      "decimal_odds": 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": "Adeyeye Oluwapelumi",
     "publisher": "Football Whispers",
     "forecaster": "Adeyeye Oluwapelumi",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The 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/nice-vs-rennes-prediction-30-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Nice 1-2 Stade Rennais"
   }
  },
  {
   "record_id": "n-c3b388076a292ab416b1cf32",
   "url": "/authors/adeyeye-oluwapelumi/picks/9/#pick-n-c3b388076a292ab416b1cf32",
   "match": "Nice v Stade Rennais",
   "match_url": "/football/matches/nice-vs-stade-rennais-2026-10-30/",
   "kickoff": "2026-10-30T18:00:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 24.3,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 1.5",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "5-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-29T17:32:28.000Z",
   "recorded_at": "2026-10-29T17:44:25.986Z",
   "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-c3b388076a292ab416b1cf32",
    "quote_text": "Both teams to score at 1.50 (1/2) also appeals",
    "fragment_from": 3443,
    "fragment_to": 3489,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/nice-vs-rennes-prediction-30-10-2026/",
     "display_name": null,
     "speaker": "Adeyeye Oluwapelumi",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "c400820a5e8a22af9fa16a2c5d03476d56c43caef0f1b57d28a3f835e6fff784",
     "material_removed": false
    },
    "published_at": "2026-10-29T17:32:28.000Z",
    "detected_at": "2026-10-29T17:44:25.986Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-ec6fbfaa0001",
     "display_name": "Nice — Stade Rennais",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-30T18:00:00.000Z",
     "url": "/football/matches/nice-vs-stade-rennais-2026-10-30/",
     "scoreline": "5-2",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "1.5",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 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-29T17:32:28.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-29T17:32:28.000Z",
     "detected_at": "2026-10-29T17:44:25.986Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": "5-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Nice 5-2 Stade Rennais."
    },
    "settlements": [
     {
      "operation_id": "99f76ceb4b8825c7df4200bed01d94e085b584b18f4fa632d5bd018f31897649",
      "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": "a4cfd908f24508ed34605070898cb8e081468a2478f251ed637fbe5c5ee4cdbd",
      "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": "Adeyeye Oluwapelumi",
     "publisher": "Football Whispers",
     "forecaster": "Adeyeye Oluwapelumi",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The 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/nice-vs-rennes-prediction-30-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-7730e809ee4f41b7439445ba",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Porto 3-0 Estoril Praia",
   "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-29T14:21:00.000Z",
   "recorded_at": "2026-10-30T07:10:40.730Z",
   "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-af49b7210f79b364d75b47c9",
   "url": "/authors/adeyeye-oluwapelumi/picks/9/#pick-n-af49b7210f79b364d75b47c9",
   "match": "Sporting Braga v Famalicão",
   "match_url": "/football/matches/sporting-braga-vs-famalicao-2026-11-01/",
   "kickoff": "2026-11-01T20:30:00.000Z",
   "competition": "Primeira Liga",
   "lead_hours": 48.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Sporting Braga 2-1 Famalicão",
   "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-30T19:49:37.000Z",
   "recorded_at": "2026-10-30T20:10:18.289Z",
   "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.8300",
    "result": "Won",
    "points_hundredths": 8300,
    "picked_favourite": true
   },
   "platform": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-af49b7210f79b364d75b47c9",
    "quote_text": "We say: Braga 2-1 Famalicao",
    "fragment_from": 4517,
    "fragment_to": 4544,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/braga/preview/braga-vs-famalicao-prediction-team-news-lineups_608105.html",
     "display_name": null,
     "speaker": "Adeyeye Oluwapelumi",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "2e16678215b7e00a5e58e87612eacb34c89674e8f9cc814b6ff116c2684a8400",
     "material_removed": false
    },
    "published_at": "2026-10-30T19:49:37.000Z",
    "detected_at": "2026-10-30T20:10:18.289Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-aee9076109e2",
     "display_name": "Sporting Braga — Famalicão",
     "competition_name": "Primeira Liga",
     "starts_at": "2026-11-01T20:30:00.000Z",
     "url": "/football/matches/sporting-braga-vs-famalicao-2026-11-01/",
     "scoreline": "3-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Sporting Braga 2-1 Famalicão",
    "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-30T19:49:37.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-30T19:49:37.000Z",
     "detected_at": "2026-10-30T20:10:18.289Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": "Sporting Braga 2-1 Famalicão",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Sporting Braga 2-1 Famalicão"
    },
    "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 Sporting Braga 3-0 Famalicão."
    },
    "settlements": [
     {
      "operation_id": "7c189b459178932d8e89caba420208c3395cd2537fb2db81d30e4aa02dcc604b",
      "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": "Sporting Braga",
      "decimal_odds": "1.8300",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 8300,
      "executed_at": "2026-11-01T14:24:31.110Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Adeyeye Oluwapelumi",
     "publisher": "Sports Mole",
     "forecaster": "Adeyeye Oluwapelumi",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The 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/braga/preview/braga-vs-famalicao-prediction-team-news-lineups_608105.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Sporting Braga 2-1 Famalicão"
   }
  },
  {
   "record_id": "n-de4c2219d484a6acaacf70c3",
   "url": "/authors/adeyeye-oluwapelumi/picks/9/#pick-n-de4c2219d484a6acaacf70c3",
   "match": "Amed SK v Eyüpspor",
   "match_url": "/football/matches/amed-sk-vs-eyupspor-2026-11-01/",
   "kickoff": "2026-11-01T10:30:00.000Z",
   "competition": "Süper Lig",
   "lead_hours": 38.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Amed SK 3-0 Eyüpspor",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "5-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-30T19:40:58.000Z",
   "recorded_at": "2026-10-30T20:10:20.381Z",
   "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.2700",
    "result": "Won",
    "points_hundredths": 2700,
    "picked_favourite": true
   },
   "platform": "Sports Mole",
   "correction": null,
   "evidence": {
    "observation_id": "n-de4c2219d484a6acaacf70c3",
    "quote_text": "We say: Amed SK 3-0 Eyupspor",
    "fragment_from": 4418,
    "fragment_to": 4446,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/amed-sk/preview/amed-sk-vs-eyupspor-prediction-team-news-lineups_608104.html",
     "display_name": null,
     "speaker": "Adeyeye Oluwapelumi",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "43e96afc04dc84d3adef033a7410aef62d64749c7a14fe1c2f6d7086dc4397ee",
     "material_removed": false
    },
    "published_at": "2026-10-30T19:40:58.000Z",
    "detected_at": "2026-10-30T20:10:20.381Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-23c4c2776f72",
     "display_name": "Amed SK — Eyüpspor",
     "competition_name": "Süper Lig",
     "starts_at": "2026-11-01T10:30:00.000Z",
     "url": "/football/matches/amed-sk-vs-eyupspor-2026-11-01/",
     "scoreline": "5-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Amed SK 3-0 Eyüpspor",
    "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-30T19:40:58.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-30T19:40:58.000Z",
     "detected_at": "2026-10-30T20:10:20.381Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Amed SK 3-0 Eyüpspor",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "3-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Amed SK 3-0 Eyüpspor"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "5-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Amed SK 5-1 Eyüpspor."
    },
    "settlements": [
     {
      "operation_id": "e8f161aade02820f3635a6be280e7b21f9d77a2b66f38802dbc71d47039a625b",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Amed SK",
      "decimal_odds": "1.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-01T01:29:16.859Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Adeyeye Oluwapelumi",
     "publisher": "Sports Mole",
     "forecaster": "Adeyeye Oluwapelumi",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/amed-sk/preview/amed-sk-vs-eyupspor-prediction-team-news-lineups_608104.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Amed SK 3-0 Eyüpspor"
   }
  },
  {
   "record_id": "n-c564be32b7f576ce14878f19",
   "url": "/authors/adeyeye-oluwapelumi/picks/9/#pick-n-c564be32b7f576ce14878f19",
   "match": "Marítimo v Santa Clara",
   "match_url": "/football/matches/maritimo-vs-santa-clara-2026-11-01/",
   "kickoff": "2026-11-01T18:00:00.000Z",
   "competition": "Primeira Liga",
   "lead_hours": 44.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Marítimo 1-2 Santa Clara",
   "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-30T20:04:00.000Z",
   "recorded_at": "2026-10-30T21:10:12.226Z",
   "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-c564be32b7f576ce14878f19",
    "quote_text": "We say: Maritimo 1-2 Santa Clara",
    "fragment_from": 4612,
    "fragment_to": 4644,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/maritimo/preview/maritimo-vs-santa-clara-prediction-team-news-lineups_608106.html",
     "display_name": null,
     "speaker": "Adeyeye Oluwapelumi",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "4006f1cfb4214418823c65479633f6ac1bd73075884f2faf3e5b80fe6d428fe7",
     "material_removed": false
    },
    "published_at": "2026-10-30T20:04:00.000Z",
    "detected_at": "2026-10-30T21:10:12.226Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-4d24b228d205",
     "display_name": "Marítimo — Santa Clara",
     "competition_name": "Primeira Liga",
     "starts_at": "2026-11-01T18:00:00.000Z",
     "url": "/football/matches/maritimo-vs-santa-clara-2026-11-01/",
     "scoreline": "0-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Marítimo 1-2 Santa Clara",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-30T20:04:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-30T20:04:00.000Z",
     "detected_at": "2026-10-30T21:10:12.226Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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-2 Santa Clara",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Marítimo 1-2 Santa Clara"
    },
    "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 Marítimo 0-2 Santa Clara."
    },
    "settlements": [
     {
      "operation_id": "a97378cb41d03c2521090c94a50a37da7d84c5ba13057aefb63259e8b3acc655",
      "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.1700",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 11700,
      "executed_at": "2026-11-01T17:27:02.297Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Adeyeye Oluwapelumi",
     "publisher": "Sports Mole",
     "forecaster": "Adeyeye Oluwapelumi",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The 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/maritimo/preview/maritimo-vs-santa-clara-prediction-team-news-lineups_608106.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Marítimo 1-2 Santa Clara"
   }
  },
  {
   "record_id": "n-125564abe6e9634868a0106e",
   "url": "/authors/adeyeye-oluwapelumi/picks/9/#pick-n-125564abe6e9634868a0106e",
   "match": "Olympique Lyonnais v Angers",
   "match_url": "/football/matches/olympique-lyonnais-vs-angers-2026-11-01/",
   "kickoff": "2026-11-01T16:15:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 42.3,
   "market_code": "team_total",
   "author_said": "Team goals over/under 1.5: Olympique Lyonnais over 1.5 at 1.4",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "2-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-30T21:46:45.000Z",
   "recorded_at": "2026-10-30T21:54:46.877Z",
   "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-125564abe6e9634868a0106e",
    "quote_text": "Lyon over 1.5 goals at 1.40 (2/5)",
    "fragment_from": 3298,
    "fragment_to": 3331,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/lyon-vs-angers-prediction-01-11-2026/",
     "display_name": null,
     "speaker": "Adeyeye Oluwapelumi",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "b5fcd27a4d25e08988c8f15c389fa57012108a1c627ec0b5b5efd7a6ec734991",
     "material_removed": false
    },
    "published_at": "2026-10-30T21:46:45.000Z",
    "detected_at": "2026-10-30T21:54:46.877Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "recognised",
    "cause": "",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": "s-625be040951a",
     "display_name": "Olympique Lyonnais — Angers",
     "competition_name": "Ligue 1",
     "starts_at": "2026-11-01T16:15:00.000Z",
     "url": "/football/matches/olympique-lyonnais-vs-angers-2026-11-01/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Team goals over/under 1.5",
    "outcome_label": "Olympique Lyonnais over 1.5",
    "odds_set": {
     "by_author": "1.4",
     "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-30T21:46:45.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-30T21:46:45.000Z",
     "detected_at": "2026-10-30T21:54:46.877Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Team goals over/under 1.5",
     "choice": "Olympique Lyonnais over 1.5",
     "author_odds": "1.4",
     "market_key": "team_total",
     "choice_key": "1-over",
     "period": "match",
     "line": "1.5",
     "subject": "goals_total",
     "in_words": "Team goals over/under 1.5: Olympique Lyonnais over 1.5 at 1.4"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Olympique Lyonnais 2-0 Angers."
    },
    "settlements": [
     {
      "operation_id": "d65358e2c14e02281c3ceafa5c1aae40936323d45846d0f56115602953515e62",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Team goals over/under 1.5",
      "choice": "Olympique Lyonnais over 1.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": "b12f62fee218c414094ca0edeefa100fcc5c3b141feacd96b0fd0165e099bb01",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Team goals over/under 1.5",
      "choice": "Olympique Lyonnais over 1.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": "Adeyeye Oluwapelumi",
     "publisher": "Football Whispers",
     "forecaster": "Adeyeye Oluwapelumi",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The 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/lyon-vs-angers-prediction-01-11-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Olympique Lyonnais over 1.5 (Team goals over/under 1.5)"
   }
  },
  {
   "record_id": "n-35713944964254d07d82a89e",
   "url": "/authors/adeyeye-oluwapelumi/picks/9/#pick-n-35713944964254d07d82a89e",
   "match": "Olympique Lyonnais v Angers",
   "match_url": "/football/matches/olympique-lyonnais-vs-angers-2026-11-01/",
   "kickoff": "2026-11-01T16:15:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 42.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Olympique Lyonnais 2-0 Angers at 7.5",
   "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-30T21:46:45.000Z",
   "recorded_at": "2026-10-30T21:54:46.877Z",
   "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-35713944964254d07d82a89e",
    "quote_text": "Correct score: Lyon 2-0 Angers at 7.50 (13/2)",
    "fragment_from": 3972,
    "fragment_to": 4017,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/lyon-vs-angers-prediction-01-11-2026/",
     "display_name": null,
     "speaker": "Adeyeye Oluwapelumi",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "b5fcd27a4d25e08988c8f15c389fa57012108a1c627ec0b5b5efd7a6ec734991",
     "material_removed": false
    },
    "published_at": "2026-10-30T21:46:45.000Z",
    "detected_at": "2026-10-30T21:54:46.877Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-625be040951a",
     "display_name": "Olympique Lyonnais — Angers",
     "competition_name": "Ligue 1",
     "starts_at": "2026-11-01T16:15:00.000Z",
     "url": "/football/matches/olympique-lyonnais-vs-angers-2026-11-01/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Olympique Lyonnais 2-0 Angers",
    "odds_set": {
     "by_author": "7.5",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "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-30T21:46:45.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-30T21:46:45.000Z",
     "detected_at": "2026-10-30T21:54:46.877Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Olympique Lyonnais 2-0 Angers",
     "author_odds": "7.5",
     "market_key": "correct_score_market",
     "choice_key": "2-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Olympique Lyonnais 2-0 Angers at 7.5"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Matched: the final score was Olympique Lyonnais 2-0 Angers."
    },
    "settlements": [
     {
      "operation_id": "cb93624940c91c2954055ecac219d6bae524c1e43e1290c261aadb1ad3db2589",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Olympique Lyonnais 2-0 Angers",
      "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": "21af7135073a0ae6cfc4ba1f9c9777fe0777b2f1166c445c2eb97b476fa69f6f",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Olympique Lyonnais",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Adeyeye Oluwapelumi",
     "publisher": "Football Whispers",
     "forecaster": "Adeyeye Oluwapelumi",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The 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/lyon-vs-angers-prediction-01-11-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Olympique Lyonnais 2-0 Angers"
   }
  },
  {
   "record_id": "n-35c2777c5874c5ccd3afeb79",
   "url": "/authors/adeyeye-oluwapelumi/picks/9/#pick-n-35c2777c5874c5ccd3afeb79",
   "match": "Olympique Lyonnais v Angers",
   "match_url": "/football/matches/olympique-lyonnais-vs-angers-2026-11-01/",
   "kickoff": "2026-11-01T16:15:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 42.3,
   "market_code": "team_total",
   "author_said": "Team goals over/under 0.5, first half: Olympique Lyonnais over 0.5 at 1.44",
   "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-30T21:46:45.000Z",
   "recorded_at": "2026-10-30T21:54:46.877Z",
   "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-35c2777c5874c5ccd3afeb79",
    "quote_text": "Lyon over 0.5 first-half goals at 1.44 (4/9)",
    "fragment_from": 3416,
    "fragment_to": 3460,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/lyon-vs-angers-prediction-01-11-2026/",
     "display_name": null,
     "speaker": "Adeyeye Oluwapelumi",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "b5fcd27a4d25e08988c8f15c389fa57012108a1c627ec0b5b5efd7a6ec734991",
     "material_removed": false
    },
    "published_at": "2026-10-30T21:46:45.000Z",
    "detected_at": "2026-10-30T21:54:46.877Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-625be040951a",
     "display_name": "Olympique Lyonnais — Angers",
     "competition_name": "Ligue 1",
     "starts_at": "2026-11-01T16:15:00.000Z",
     "url": "/football/matches/olympique-lyonnais-vs-angers-2026-11-01/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Team goals over/under 0.5, first half",
    "outcome_label": "Olympique Lyonnais over 0.5",
    "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-30T21:46:45.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-30T21:46:45.000Z",
     "detected_at": "2026-10-30T21:54:46.877Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Team goals over/under 0.5, first half",
     "choice": "Olympique Lyonnais over 0.5",
     "author_odds": "1.44",
     "market_key": "team_total",
     "choice_key": "1-over",
     "period": "first_half",
     "line": "0.5",
     "subject": "goals_total",
     "in_words": "Team goals over/under 0.5, first half: Olympique Lyonnais over 0.5 at 1.44"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Olympique Lyonnais 2-0 Angers."
    },
    "settlements": [
     {
      "operation_id": "3caa4c56850da83fae099fd763be9429927d7a5497582e016a49590112a7907d",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Team goals over/under 0.5, first half",
      "choice": "Olympique Lyonnais over 0.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": "7e3a9c3f62de4443aeadc92912009a42839cf24e4ffe81fdfa2a2bf3505d29fe",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Team goals over/under 0.5, first half",
      "choice": "Olympique Lyonnais over 0.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": "Adeyeye Oluwapelumi",
     "publisher": "Football Whispers",
     "forecaster": "Adeyeye Oluwapelumi",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The 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/lyon-vs-angers-prediction-01-11-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Olympique Lyonnais over 0.5 (Team goals over/under 0.5, first half)"
   }
  },
  {
   "record_id": "n-3903b4fb94acf6b21e16e848",
   "url": "/authors/adeyeye-oluwapelumi/picks/9/#pick-n-3903b4fb94acf6b21e16e848",
   "match": "Olympique Lyonnais v Angers",
   "match_url": "/football/matches/olympique-lyonnais-vs-angers-2026-11-01/",
   "kickoff": "2026-11-01T16:15:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 42.3,
   "market_code": "1x2",
   "author_said": "1X2, match result: Olympique Lyonnais at 1.4",
   "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-30T21:46:45.000Z",
   "recorded_at": "2026-10-30T21:54:46.877Z",
   "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-3903b4fb94acf6b21e16e848",
    "quote_text": "Lyon to win at 1.40 (2/5)",
    "fragment_from": 3059,
    "fragment_to": 3084,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/lyon-vs-angers-prediction-01-11-2026/",
     "display_name": null,
     "speaker": "Adeyeye Oluwapelumi",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "b5fcd27a4d25e08988c8f15c389fa57012108a1c627ec0b5b5efd7a6ec734991",
     "material_removed": false
    },
    "published_at": "2026-10-30T21:46:45.000Z",
    "detected_at": "2026-10-30T21:54:46.877Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-625be040951a",
     "display_name": "Olympique Lyonnais — Angers",
     "competition_name": "Ligue 1",
     "starts_at": "2026-11-01T16:15:00.000Z",
     "url": "/football/matches/olympique-lyonnais-vs-angers-2026-11-01/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Olympique Lyonnais",
    "odds_set": {
     "by_author": "1.4",
     "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-30T21:46:45.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-30T21:46:45.000Z",
     "detected_at": "2026-10-30T21:54:46.877Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result",
     "choice": "Olympique Lyonnais",
     "author_odds": "1.4",
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Olympique Lyonnais at 1.4"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Olympique Lyonnais 2-0 Angers."
    },
    "settlements": [
     {
      "operation_id": "2cac65f26feac5bd88ac1fd918984da209d9ea8479fb5aa6748d3d95adf738b0",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "Olympique Lyonnais",
      "decimal_odds": 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": "b68e3c22238f53991cbbf90f281e6b5775f775bfe076edf5070f3c74f28f61a0",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "Olympique Lyonnais",
      "decimal_odds": 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": "Adeyeye Oluwapelumi",
     "publisher": "Football Whispers",
     "forecaster": "Adeyeye Oluwapelumi",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The 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/lyon-vs-angers-prediction-01-11-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Olympique Lyonnais to win"
   }
  }
 ],
 "pagination": {
  "per_page": 20,
  "total": 192,
  "pages": 11,
  "page_urls": [
   "/authors/adeyeye-oluwapelumi/",
   "/authors/adeyeye-oluwapelumi/picks/2/",
   "/authors/adeyeye-oluwapelumi/picks/3/",
   "/authors/adeyeye-oluwapelumi/picks/4/",
   "/authors/adeyeye-oluwapelumi/picks/5/",
   "/authors/adeyeye-oluwapelumi/picks/6/",
   "/authors/adeyeye-oluwapelumi/picks/7/",
   "/authors/adeyeye-oluwapelumi/picks/8/",
   "/authors/adeyeye-oluwapelumi/picks/9/",
   "/authors/adeyeye-oluwapelumi/picks/10/",
   "/authors/adeyeye-oluwapelumi/picks/11/"
  ],
  "groups": {
   "settled": 47,
   "pending": 2,
   "excluded": 143
  },
  "continuation": "by_time",
  "page": 9,
  "first": 141,
  "last": 160,
  "author_url": "/authors/adeyeye-oluwapelumi/",
  "current": false
 },
 "entity_id": "history:/authors/adeyeye-oluwapelumi/picks/9/",
 "source_revision": 24
}
