{
 "schema_name": "page",
 "schema_version": "2.0",
 "page_type": "history",
 "url": "/authors/kelechi-udoka/picks/12/",
 "canonical": "/authors/kelechi-udoka/picks/12/",
 "language": "en",
 "hreflang": [],
 "translations": [],
 "heading": "Kelechi Udoka — football predictions, page 12 of 21",
 "description": "Predictions 201–220 of 398 by Kelechi Udoka, with outcomes in words and links to the evidence.",
 "first_paragraph": {
  "body": "Page 12 of 21 of the predictions by Kelechi Udoka recorded by Forecast Record: predictions 201–220 of 398 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": "398",
  "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-07T18:06:54.100Z",
 "built_at": "2026-11-07T19:52:23.438Z",
 "lastmod": "2026-11-07T19:52:23.438Z",
 "content_hash": null,
 "meaning_hash": "f88cc377ac4d2f9a0bbd6d148eacdaa8d0c6260add69ef84e4391a2f14cd038c",
 "dependency_group": "author:e-a7d4e266b91ebad959eade40",
 "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/kelechi-udoka/picks/12/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-a7d4e266b91ebad959eade40",
  "public_name": "Kelechi Udoka",
  "tracker_number": 1044,
  "status": "active",
  "inactive_since": null,
  "verified_creator": false,
  "observation_period": {
   "since": "2026-09-25",
   "until": "2026-11-07"
  },
  "platform_list": [
   {
    "medium": "website",
    "handle": null,
    "url": null,
    "link_confirmed": false,
    "show": true
   }
  ],
  "comment": null
 },
 "recorded_picks": [
  {
   "record_id": "n-507750b6762d9be804726d0a",
   "url": "/authors/kelechi-udoka/picks/12/#pick-n-507750b6762d9be804726d0a",
   "match": "VfB Stuttgart v Atlético Madrid",
   "match_url": "/football/matches/vfb-stuttgart-vs-atletico-madrid-2026-10-20/",
   "kickoff": "2026-10-20T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 36.3,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: no at 2.6",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-1",
   "reason": "",
   "reason_code": "disputed_reading",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-19T06:36:11.000Z",
   "recorded_at": "2026-10-19T06:44:17.233Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-507750b6762d9be804726d0a",
    "quote_text": "> BTTS – No at 8/5 2.60) | Likelihood: Possible",
    "fragment_from": 4258,
    "fragment_to": 4305,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/stuttgart-vs-atletico-madrid-prediction-20-10-2026/",
     "display_name": null,
     "speaker": "Kelechi Udoka",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "74b613c8f6b59f07f7be8497c1fb897cc695bf8a9a89c600f33d74d8dc98ca31",
     "material_removed": false
    },
    "published_at": "2026-10-19T06:36:11.000Z",
    "detected_at": "2026-10-19T06:44:17.233Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "recognised",
    "cause": "",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": "s-a03afa8d49aa",
     "display_name": "VfB Stuttgart — Atlético Madrid",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-20T19:00:00.000Z",
     "url": "/football/matches/vfb-stuttgart-vs-atletico-madrid-2026-10-20/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "no",
    "odds_set": {
     "by_author": "2.6",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-19T06:36:11.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-19T06:36:11.000Z",
     "detected_at": "2026-10-19T06:44:17.233Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Both teams to score",
     "choice": "no",
     "author_odds": "2.6",
     "market_key": "both_teams_score",
     "choice_key": "no",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: no at 2.6"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was VfB Stuttgart 1-1 Atlético Madrid."
    },
    "settlements": [
     {
      "operation_id": "c7796186708b57c6415e7b9262783ba2a0a7e07cae204e3cf280664fde339c22",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "no",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "54b899c85f12cfb3cc0e39ce61179725927cd7c405a45a59cf819d6c44867be5",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "no",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Kelechi Udoka",
     "publisher": "Football Whispers",
     "forecaster": "Kelechi Udoka",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The 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/stuttgart-vs-atletico-madrid-prediction-20-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "no (Both teams to score)"
   }
  },
  {
   "record_id": "n-9dbfe28d0cb8f719d84d4253",
   "url": "/authors/kelechi-udoka/picks/12/#pick-n-9dbfe28d0cb8f719d84d4253",
   "match": "VfB Stuttgart v Atlético Madrid",
   "match_url": "/football/matches/vfb-stuttgart-vs-atletico-madrid-2026-10-20/",
   "kickoff": "2026-10-20T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 36.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: VfB Stuttgart 0-2 Atlético Madrid at 13",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-1",
   "reason": "graded against the result: wrong",
   "reason_code": "not_checked",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-19T06:36:11.000Z",
   "recorded_at": "2026-10-19T06:44:17.233Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-9dbfe28d0cb8f719d84d4253",
    "quote_text": "> Correct Score: 0-2 at 12/1 (13.00) | Likelihood: Outsider",
    "fragment_from": 4448,
    "fragment_to": 4507,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/stuttgart-vs-atletico-madrid-prediction-20-10-2026/",
     "display_name": null,
     "speaker": "Kelechi Udoka",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "74b613c8f6b59f07f7be8497c1fb897cc695bf8a9a89c600f33d74d8dc98ca31",
     "material_removed": false
    },
    "published_at": "2026-10-19T06:36:11.000Z",
    "detected_at": "2026-10-19T06:44:17.233Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "recognised",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-a03afa8d49aa",
     "display_name": "VfB Stuttgart — Atlético Madrid",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-20T19:00:00.000Z",
     "url": "/football/matches/vfb-stuttgart-vs-atletico-madrid-2026-10-20/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "VfB Stuttgart 0-2 Atlético Madrid",
    "odds_set": {
     "by_author": "13",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-19T06:36:11.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-19T06:36:11.000Z",
     "detected_at": "2026-10-19T06:44:17.233Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "VfB Stuttgart 0-2 Atlético Madrid",
     "author_odds": "13",
     "market_key": "correct_score_market",
     "choice_key": "0-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: VfB Stuttgart 0-2 Atlético Madrid at 13"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was VfB Stuttgart 1-1 Atlético Madrid."
    },
    "settlements": [
     {
      "operation_id": "af46b5605112153ca45e45897810e15ed8fd2c82152a86f386c13b21d1e04be3",
      "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": "VfB Stuttgart 0-2 Atlético Madrid",
      "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": "26fabbe4d4c046e5fa8b8ff0462e789564939c679c48b471db71a6045f0394c7",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "VfB Stuttgart 0-2 Atlético Madrid",
      "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": "Kelechi Udoka",
     "publisher": "Football Whispers",
     "forecaster": "Kelechi Udoka",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The 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/stuttgart-vs-atletico-madrid-prediction-20-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "VfB Stuttgart 0-2 Atlético Madrid"
   }
  },
  {
   "record_id": "n-ce11f658ed84151d1b20261f",
   "url": "/authors/kelechi-udoka/picks/12/#pick-n-ce11f658ed84151d1b20261f",
   "match": "VfB Stuttgart v Atlético Madrid",
   "match_url": "/football/matches/vfb-stuttgart-vs-atletico-madrid-2026-10-20/",
   "kickoff": "2026-10-20T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 36.3,
   "market_code": "both_teams_score_and_result",
   "author_said": "Match result and both teams to score: Atlético Madrid win, both teams to score: yes at 4.4",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-1",
   "reason": "graded against the result: wrong",
   "reason_code": "not_checked",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-19T06:36:11.000Z",
   "recorded_at": "2026-10-19T06:44:17.233Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-ce11f658ed84151d1b20261f",
    "quote_text": "> Atletico Madrid & BTTS – No at 17/5 (4.40) | Likelihood: Possible",
    "fragment_from": 4379,
    "fragment_to": 4446,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/stuttgart-vs-atletico-madrid-prediction-20-10-2026/",
     "display_name": null,
     "speaker": "Kelechi Udoka",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "74b613c8f6b59f07f7be8497c1fb897cc695bf8a9a89c600f33d74d8dc98ca31",
     "material_removed": false
    },
    "published_at": "2026-10-19T06:36:11.000Z",
    "detected_at": "2026-10-19T06:44:17.233Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-a03afa8d49aa",
     "display_name": "VfB Stuttgart — Atlético Madrid",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-20T19:00:00.000Z",
     "url": "/football/matches/vfb-stuttgart-vs-atletico-madrid-2026-10-20/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Match result and both teams to score",
    "outcome_label": "Atlético Madrid win, both teams to score: yes",
    "odds_set": {
     "by_author": "4.4",
     "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-19T06:36:11.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-19T06:36:11.000Z",
     "detected_at": "2026-10-19T06:44:17.233Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Match result and both teams to score",
     "choice": "Atlético Madrid win, both teams to score: yes",
     "author_odds": "4.4",
     "market_key": "both_teams_score_and_result",
     "choice_key": "2-yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Match result and both teams to score: Atlético Madrid win, both teams to score: yes at 4.4"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was VfB Stuttgart 1-1 Atlético Madrid."
    },
    "settlements": [
     {
      "operation_id": "25bbba64db9b3e1ece9764417482202adfb52592f8d6a83b5af9b5efcda56176",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Match result and both teams to score",
      "choice": "Atlético Madrid win, both teams to score: yes",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "2db39bcb264fb784a28837ed1893b39eb777c1e278c853d280112680687fcc35",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Match result and both teams to score",
      "choice": "Atlético Madrid win, both teams to score: yes",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Kelechi Udoka",
     "publisher": "Football Whispers",
     "forecaster": "Kelechi Udoka",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The 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/stuttgart-vs-atletico-madrid-prediction-20-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Atlético Madrid win, both teams to score: yes"
   }
  },
  {
   "record_id": "n-2e9bf13f431160c69cc4d32c",
   "url": "/authors/kelechi-udoka/picks/12/#pick-n-2e9bf13f431160c69cc4d32c",
   "match": "Real Madrid v RB Leipzig",
   "match_url": "/football/matches/real-madrid-vs-rb-leipzig-2026-10-21/",
   "kickoff": "2026-10-21T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 38.4,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Real Madrid 4-1 RB Leipzig at 13",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "4-1",
   "reason": "graded against the result: right",
   "reason_code": "not_checked",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-20T04:28:22.000Z",
   "recorded_at": "2026-10-20T04:34:17.307Z",
   "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,
   "correction": null,
   "evidence": {
    "observation_id": "n-2e9bf13f431160c69cc4d32c",
    "quote_text": "> Correct Score: 4-1 at 12/1 (13.00)",
    "fragment_from": 4422,
    "fragment_to": 4458,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/real-madrid-vs-rb-leipzig-prediction-21-10-2026/",
     "display_name": null,
     "speaker": "Kelechi Udoka",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "fa73955589d5df522f8fb866153e3cce3ff5ed5a5effa1ae1deee1e9a4c0c921",
     "material_removed": false
    },
    "published_at": "2026-10-20T04:28:22.000Z",
    "detected_at": "2026-10-20T04:34:17.307Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-768d6e0748bb",
     "display_name": "Real Madrid — RB Leipzig",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-21T19:00:00.000Z",
     "url": "/football/matches/real-madrid-vs-rb-leipzig-2026-10-21/",
     "scoreline": "4-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Real Madrid 4-1 RB Leipzig",
    "odds_set": {
     "by_author": "13",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "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-20T04:28:22.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-20T04:28:22.000Z",
     "detected_at": "2026-10-20T04:34:17.307Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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": "Real Madrid 4-1 RB Leipzig",
     "author_odds": "13",
     "market_key": "correct_score_market",
     "choice_key": "4-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Real Madrid 4-1 RB Leipzig at 13"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "4-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Matched: the final score was Real Madrid 4-1 RB Leipzig."
    },
    "settlements": [
     {
      "operation_id": "f379823b5e6c482b76e138c23662cedd857b9762de63bb53a922bd61c74e67f9",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Correct score",
      "choice": "Real Madrid 4-1 RB Leipzig",
      "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": "bf325cf46a68c50b7f947b54b41847f523628d59ed0c5d680a811acb12ea85b5",
      "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": "Real Madrid",
      "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": "Kelechi Udoka",
     "publisher": "Football Whispers",
     "forecaster": "Kelechi Udoka",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The 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/real-madrid-vs-rb-leipzig-prediction-21-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Real Madrid 4-1 RB Leipzig"
   }
  },
  {
   "record_id": "n-42a1eb616b4b7a9758f03be4",
   "url": "/authors/kelechi-udoka/picks/12/#pick-n-42a1eb616b4b7a9758f03be4",
   "match": "Real Madrid v RB Leipzig",
   "match_url": "/football/matches/real-madrid-vs-rb-leipzig-2026-10-21/",
   "kickoff": "2026-10-21T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 38.4,
   "market_code": "team_total",
   "author_said": "Team goals over/under 3.5: Real Madrid over 3.5 at 2.5",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "4-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 13700,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "2.5",
   "settled_price": "2.3700",
   "published_at": "2026-10-20T04:28:22.000Z",
   "recorded_at": "2026-10-20T04:34:17.307Z",
   "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,
   "correction": null,
   "evidence": {
    "observation_id": "n-42a1eb616b4b7a9758f03be4",
    "quote_text": "> Over 3.5 Real Madrid goals at 6/4 (2.50)",
    "fragment_from": 4355,
    "fragment_to": 4397,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/real-madrid-vs-rb-leipzig-prediction-21-10-2026/",
     "display_name": null,
     "speaker": "Kelechi Udoka",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "fa73955589d5df522f8fb866153e3cce3ff5ed5a5effa1ae1deee1e9a4c0c921",
     "material_removed": false
    },
    "published_at": "2026-10-20T04:28:22.000Z",
    "detected_at": "2026-10-20T04:34:17.307Z",
    "executed_at": "2026-10-24T00:56:34.571Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-768d6e0748bb",
     "display_name": "Real Madrid — RB Leipzig",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-21T19:00:00.000Z",
     "url": "/football/matches/real-madrid-vs-rb-leipzig-2026-10-21/",
     "scoreline": "4-1",
     "condition": "finished"
    },
    "market_label": "Team goals over/under 3.5",
    "outcome_label": "Real Madrid over 3.5",
    "odds_set": {
     "by_author": "2.5",
     "our_snapshot": "2.3700",
     "our_snapshot_at": "2026-10-20T04:33:04.109Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 13700,
    "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-20T04:28:22.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-20T04:28:22.000Z",
     "detected_at": "2026-10-20T04:34:17.307Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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 3.5",
     "choice": "Real Madrid over 3.5",
     "author_odds": "2.5",
     "market_key": "team_total",
     "choice_key": "1-over",
     "period": "match",
     "line": "3.5",
     "subject": "goals_total",
     "in_words": "Team goals over/under 3.5: Real Madrid over 3.5 at 2.5"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "4-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Real Madrid 4-1 RB Leipzig."
    },
    "settlements": [
     {
      "operation_id": "30d6cc0c2b0f5a4935b06ba4346dc18fbd5c8a495c4da80e4d686ae1595ac23a",
      "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 3.5",
      "choice": "Real Madrid over 3.5",
      "decimal_odds": "2.5",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 15000,
      "executed_at": "2026-10-22T00:48:08.230Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "0af9a7e30cf6ef2afe82bcc44ff7725f82cf1da36cb93794e27f0c75175b1450",
      "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 3.5",
      "choice": "Real Madrid over 3.5",
      "decimal_odds": "2.3700",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 13700,
      "executed_at": "2026-10-24T00:56:34.571Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Kelechi Udoka",
     "publisher": "Football Whispers",
     "forecaster": "Kelechi Udoka",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The 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/real-madrid-vs-rb-leipzig-prediction-21-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Real Madrid over 3.5 (Team goals over/under 3.5)"
   }
  },
  {
   "record_id": "n-7b0efe5e23087ca42f410cda",
   "url": "/authors/kelechi-udoka/picks/12/#pick-n-7b0efe5e23087ca42f410cda",
   "match": "Real Madrid v RB Leipzig",
   "match_url": "/football/matches/real-madrid-vs-rb-leipzig-2026-10-21/",
   "kickoff": "2026-10-21T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 38.4,
   "market_code": "total",
   "author_said": "Over/Under 4.5 goals: over 4.5 at 2.25",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "4-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 12500,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "2.25",
   "settled_price": "2.2500",
   "published_at": "2026-10-20T04:28:22.000Z",
   "recorded_at": "2026-10-20T04:34:17.307Z",
   "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,
   "correction": null,
   "evidence": {
    "observation_id": "n-7b0efe5e23087ca42f410cda",
    "quote_text": "> Over 4.5 total goals at 5/4 (2.25)",
    "fragment_from": 4175,
    "fragment_to": 4211,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/real-madrid-vs-rb-leipzig-prediction-21-10-2026/",
     "display_name": null,
     "speaker": "Kelechi Udoka",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "fa73955589d5df522f8fb866153e3cce3ff5ed5a5effa1ae1deee1e9a4c0c921",
     "material_removed": false
    },
    "published_at": "2026-10-20T04:28:22.000Z",
    "detected_at": "2026-10-20T04:34:17.307Z",
    "executed_at": "2026-10-22T11:49:38.119Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-768d6e0748bb",
     "display_name": "Real Madrid — RB Leipzig",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-21T19:00:00.000Z",
     "url": "/football/matches/real-madrid-vs-rb-leipzig-2026-10-21/",
     "scoreline": "4-1",
     "condition": "finished"
    },
    "market_label": "Over/Under 4.5 goals",
    "outcome_label": "over 4.5",
    "odds_set": {
     "by_author": "2.25",
     "our_snapshot": "2.2500",
     "our_snapshot_at": "2026-10-20T04:30:36.000Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 12500,
    "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-20T04:28:22.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-20T04:28:22.000Z",
     "detected_at": "2026-10-20T04:34:17.307Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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 4.5 goals",
     "choice": "over 4.5",
     "author_odds": "2.25",
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "4.5",
     "subject": "goals_total",
     "in_words": "Over/Under 4.5 goals: over 4.5 at 2.25"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "4-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Real Madrid 4-1 RB Leipzig."
    },
    "settlements": [
     {
      "operation_id": "0aac8d02a4e5d362a15e28a78fabab07de57e7ca375c2fc340b30990672d860e",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 4.5 goals",
      "choice": "over 4.5",
      "decimal_odds": "2.25",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 12500,
      "executed_at": "2026-10-22T00:48:06.501Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "fb9f5646b4191910403c30c41f627073fe2ef0abda8bb9cc00d7c5d126c16571",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 4.5 goals",
      "choice": "over 4.5",
      "decimal_odds": "2.2500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 12500,
      "executed_at": "2026-10-22T11:49:38.119Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Kelechi Udoka",
     "publisher": "Football Whispers",
     "forecaster": "Kelechi Udoka",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The 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/real-madrid-vs-rb-leipzig-prediction-21-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "over 4.5 (Over/Under 4.5 goals)"
   }
  },
  {
   "record_id": "n-8b6291524af38377d7952718",
   "url": "/authors/kelechi-udoka/picks/12/#pick-n-8b6291524af38377d7952718",
   "match": "Real Madrid v RB Leipzig",
   "match_url": "/football/matches/real-madrid-vs-rb-leipzig-2026-10-21/",
   "kickoff": "2026-10-21T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 38.4,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 1.55",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "4-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 5000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.55",
   "settled_price": "1.5000",
   "published_at": "2026-10-20T04:28:22.000Z",
   "recorded_at": "2026-10-20T04:34:17.307Z",
   "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,
   "correction": null,
   "evidence": {
    "observation_id": "n-8b6291524af38377d7952718",
    "quote_text": "> BTTS – Yes at 11/20 (1.55)",
    "fragment_from": 4236,
    "fragment_to": 4264,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/real-madrid-vs-rb-leipzig-prediction-21-10-2026/",
     "display_name": null,
     "speaker": "Kelechi Udoka",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "fa73955589d5df522f8fb866153e3cce3ff5ed5a5effa1ae1deee1e9a4c0c921",
     "material_removed": false
    },
    "published_at": "2026-10-20T04:28:22.000Z",
    "detected_at": "2026-10-20T04:34:17.307Z",
    "executed_at": "2026-11-07T08:00:40.087Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-768d6e0748bb",
     "display_name": "Real Madrid — RB Leipzig",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-21T19:00:00.000Z",
     "url": "/football/matches/real-madrid-vs-rb-leipzig-2026-10-21/",
     "scoreline": "4-1",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "1.55",
     "our_snapshot": "1.5000",
     "our_snapshot_at": "2026-10-20T04:33:38.670Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 5000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-20T04:28:22.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-20T04:28:22.000Z",
     "detected_at": "2026-10-20T04:34:17.307Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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.55",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 1.55"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "4-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Real Madrid 4-1 RB Leipzig."
    },
    "settlements": [
     {
      "operation_id": "1abce99816e4f4e89fa7020bf63d88a388c0b709b13bcd9dd1849e7c1e402506",
      "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.55",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5500,
      "executed_at": "2026-11-07T08:00:36.725Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "87fb00c15e74a07137ec7d19a5787348415bcfc311654cb105e4d3944e89a673",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": "1.5000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5000,
      "executed_at": "2026-11-07T08:00:40.087Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Kelechi Udoka",
     "publisher": "Football Whispers",
     "forecaster": "Kelechi Udoka",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The 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/real-madrid-vs-rb-leipzig-prediction-21-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-ff4697051d2c679158f1431f",
   "url": "/authors/kelechi-udoka/picks/12/#pick-n-ff4697051d2c679158f1431f",
   "match": "Real Madrid v RB Leipzig",
   "match_url": "/football/matches/real-madrid-vs-rb-leipzig-2026-10-21/",
   "kickoff": "2026-10-21T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 38.4,
   "market_code": "corners_total",
   "author_said": "Over/Under 10.5 corners: over 10.5 at 2.15",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "4-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "author_price",
   "series_short": "author's odds",
   "author_price": "2.15",
   "settled_price": "2.15",
   "published_at": "2026-10-20T04:28:22.000Z",
   "recorded_at": "2026-10-20T04:34:17.307Z",
   "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,
   "correction": null,
   "evidence": {
    "observation_id": "n-ff4697051d2c679158f1431f",
    "quote_text": "> Over 10.5 total corners at 23/20 (2.15)",
    "fragment_from": 4289,
    "fragment_to": 4330,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://footballwhispers.com/blog/real-madrid-vs-rb-leipzig-prediction-21-10-2026/",
     "display_name": null,
     "speaker": "Kelechi Udoka",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "fa73955589d5df522f8fb866153e3cce3ff5ed5a5effa1ae1deee1e9a4c0c921",
     "material_removed": false
    },
    "published_at": "2026-10-20T04:28:22.000Z",
    "detected_at": "2026-10-20T04:34:17.307Z",
    "executed_at": "2026-11-07T08:00:41.568Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-768d6e0748bb",
     "display_name": "Real Madrid — RB Leipzig",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-21T19:00:00.000Z",
     "url": "/football/matches/real-madrid-vs-rb-leipzig-2026-10-21/",
     "scoreline": "4-1",
     "condition": "finished"
    },
    "market_label": "Over/Under 10.5 corners",
    "outcome_label": "over 10.5",
    "odds_set": {
     "by_author": "2.15",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At the author's stated price",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-20T04:28:22.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-20T04:28:22.000Z",
     "detected_at": "2026-10-20T04:34:17.307Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "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 10.5 corners",
     "choice": "over 10.5",
     "author_odds": "2.15",
     "market_key": "corners_total",
     "choice_key": "over",
     "period": "match",
     "line": "10.5",
     "subject": "corners",
     "in_words": "Over/Under 10.5 corners: over 10.5 at 2.15"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "4-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost — corners 7-1 in the match (8 in total); the final score was Real Madrid 4-1 RB Leipzig."
    },
    "settlements": [
     {
      "operation_id": "c20bc2bee394e18f22bc2f17a3c55bf0bda3a03c8a0e7c2b3d107235bcdea04b",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 10.5 corners",
      "choice": "over 10.5",
      "decimal_odds": "2.15",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-07T08:00:41.568Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "6783129c190a3e22d8150cf187152e953879292bce5e7cf1f2570b282ccbb3ee",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 10.5 corners",
      "choice": "over 10.5",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Kelechi Udoka",
     "publisher": "Football Whispers",
     "forecaster": "Kelechi Udoka",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The 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/real-madrid-vs-rb-leipzig-prediction-21-10-2026/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "over 10.5 (Over/Under 10.5 corners)"
   }
  },
  {
   "record_id": "n-2ec9f814bad9feb8e9d1360e",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Nine of Feyenoord's last 10 outings have gone above the 3.5-goal line, and this can be backed at 10/11 (1.91).",
   "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-20T06:14:49.000Z",
   "recorded_at": "2026-10-20T06:24:17.047Z",
   "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,
   "correction": null
  },
  {
   "record_id": "n-637648f7a0c0ae7c5cf670c6",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Correct Score: 3-2 at 16/1 (17.00)",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-20T06:14:49.000Z",
   "recorded_at": "2026-10-20T06:24:17.047Z",
   "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,
   "correction": null
  },
  {
   "record_id": "n-6fb0ea7cc700942c8bcfdcb5",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Real Betis & BTTS – Yes at 6/4 (2.50)",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-20T06:14:49.000Z",
   "recorded_at": "2026-10-20T06:24:17.047Z",
   "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,
   "correction": null
  },
  {
   "record_id": "n-9d8feb6cf043fd03f7fb3fa3",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Over 4.5 total cards at 17/20 (1.85)",
   "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-20T06:14:49.000Z",
   "recorded_at": "2026-10-20T06:24:17.047Z",
   "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,
   "correction": null
  },
  {
   "record_id": "n-d0e7fe3ca462af5cb3fbe7c9",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We also fancy BTTS – Yes at 1/2 (1.50), as was the case in six of the hosts' last seven fixtures.",
   "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-20T06:14:49.000Z",
   "recorded_at": "2026-10-20T06:24:17.047Z",
   "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,
   "correction": null
  },
  {
   "record_id": "n-18c1489cccd34364d19d3bfd",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Under 0.5 Levante goals at 2/1 (3.00)",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-20T07:25:58.000Z",
   "recorded_at": "2026-10-20T07:34:28.436Z",
   "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,
   "correction": null
  },
  {
   "record_id": "n-8c871f411aa913d9838fe662",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Match result: Athletic Bilbao at 5/4 (2.25)",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-20T07:25:58.000Z",
   "recorded_at": "2026-10-20T07:34:28.436Z",
   "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,
   "correction": null
  },
  {
   "record_id": "n-9e9ebae24fb2d7596c7b3d42",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "> Athletic Bilbao & BTTS – No at 3/1 (4.00)",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-20T07:25:58.000Z",
   "recorded_at": "2026-10-20T07:34:28.436Z",
   "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,
   "correction": null
  },
  {
   "record_id": "n-d8646dcba3d554222f06f089",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Whispers Predicts: Levante 0-1 Athletic Bilbao",
   "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-20T07:25:58.000Z",
   "recorded_at": "2026-10-20T07:34:28.436Z",
   "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,
   "correction": null
  },
  {
   "record_id": "n-fc20d82392c3c2987a50dc59",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Under 2.5 total goals at 19/20 (1.95)",
   "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-20T07:25:58.000Z",
   "recorded_at": "2026-10-20T07:34:28.436Z",
   "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,
   "correction": null
  },
  {
   "record_id": "n-11e84126cbec7c64a079640d",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "> Over 0.5 red cards at 16/5 (4.20) | Likelihood: Possible",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-21T03:41:53.000Z",
   "recorded_at": "2026-10-21T03:54:19.606Z",
   "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,
   "correction": null
  },
  {
   "record_id": "n-46a37625a8f38777c968ae36",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "In addition to having the advantage of playing at home, the Hungarian side have been a difficult team to beat, and with Torreense coming off back-to-back losses, we are confident that Ferencvaros…",
   "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-21T03:41:53.000Z",
   "recorded_at": "2026-10-21T03:54:19.606Z",
   "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,
   "correction": null
  }
 ],
 "pagination": {
  "per_page": 20,
  "total": 398,
  "pages": 21,
  "page_urls": [
   "/authors/kelechi-udoka/",
   "/authors/kelechi-udoka/picks/2/",
   "/authors/kelechi-udoka/picks/3/",
   "/authors/kelechi-udoka/picks/4/",
   "/authors/kelechi-udoka/picks/5/",
   "/authors/kelechi-udoka/picks/6/",
   "/authors/kelechi-udoka/picks/7/",
   "/authors/kelechi-udoka/picks/8/",
   "/authors/kelechi-udoka/picks/9/",
   "/authors/kelechi-udoka/picks/10/",
   "/authors/kelechi-udoka/picks/11/",
   "/authors/kelechi-udoka/picks/12/",
   "/authors/kelechi-udoka/picks/13/",
   "/authors/kelechi-udoka/picks/14/",
   "/authors/kelechi-udoka/picks/15/",
   "/authors/kelechi-udoka/picks/16/",
   "/authors/kelechi-udoka/picks/17/",
   "/authors/kelechi-udoka/picks/18/",
   "/authors/kelechi-udoka/picks/19/",
   "/authors/kelechi-udoka/picks/20/",
   "/authors/kelechi-udoka/picks/21/"
  ],
  "groups": {
   "settled": 194,
   "pending": 10,
   "excluded": 194
  },
  "continuation": "by_time",
  "page": 12,
  "first": 201,
  "last": 220,
  "author_url": "/authors/kelechi-udoka/",
  "current": true
 },
 "entity_id": "history:/authors/kelechi-udoka/picks/12/",
 "source_revision": 38
}
